Native Ads is not clickable with Admob - IOS Xcode Swift

45 Views Asked by At

I'm trying to integrate native ads to my ios app. I'm successfully seeing the ads within my custom view but when i click the ad this message is printed in the console

Message when clicking ad:

<Google> The custom click gesture feature is not enabled for your AdMob account. Talk to your account manager to request this feature for your account. In the meantime, this method is a no-op.

Im not sure why because if i use a banner ad or an adaptive banner the ad is loaded and the click is working successfully.

Here is how i integrate the native ad:

In View did Load:

adLoaderTopNativeAd = GADAdLoader(adUnitID: PublicVars.adNativeTopPostDetailAdvancedID, rootViewController: self, adTypes: [ .native ], options: nil)
        adLoaderTopNativeAd.delegate = self
        adLoaderTopNativeAd.load(GADRequest())

Did Recive function:


    var adLoaderTopNativeAd: GADAdLoader!
    var nativeTopAd: GADNativeAd!


    //MARK: Ad Loader Native Ad
    func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
        
        if adLoader == adLoaderTopNativeAd {
            nativeTopAd = nativeAd
            nativeAd.delegate = self
            nativeTopAd.delegate = self
            nativeTopAd.enableCustomClickGestures()

            let description = nativeTopAd.description
            let headline = nativeTopAd.headline
            let body = nativeTopAd.body
            let advertiser = nativeTopAd.advertiser
            let callToAction = nativeTopAd.callToAction
            let price = nativeTopAd.price
            let store = nativeTopAd.store
            let starRating = nativeTopAd.starRating
            let extraAssets = nativeTopAd.extraAssets
            let icon = nativeTopAd.icon
            let hasVideo = nativeTopAd.mediaContent.hasVideoContent
            let mainVideo = nativeTopAd.mediaContent.videoController
            let mainImage = nativeTopAd.mediaContent.mainImage
            let images = nativeTopAd.images
            let mediaContent = nativeTopAd.mediaContent
            let isCustomClickGestureEnabled = nativeTopAd.isCustomClickGestureEnabled
            let isCustomMuteThisAdAvailable = nativeTopAd.isCustomMuteThisAdAvailable
            let muteThisAdReasons = nativeTopAd.muteThisAdReasons
            let paidEventHandler = nativeTopAd.paidEventHandler
            
            
            nativeTopAdMediaImage.contentMode = .scaleAspectFit
            nativeTopAdHeadlineLabel.text = "\(headline!)\n\(starRating) ⭐️ · \(store)\n\(price)"
            nativeTopAdBodyLabel.text = "\(body!)"
            nativeTopAdActionLabel.text = "\(callToAction!)"
            
            nativeTopAdIconImage.image = icon?.image
            nativeTopAdMediaImage.image = mainImage
            
            // Set up click and impression tracking
            //if nativeTopAd.isCustomClickGestureEnabled {
            let adTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleAdTap(_:)))
            nativeTopAdBG.addGestureRecognizer(adTapGesture)
            //}
            
        }
    }

    //MARK: Handle Ad Tap
    @objc func handleAdTap(_ sender: UITapGestureRecognizer) {
        if let nativeAd = nativeTopAd {
            nativeAd.recordCustomClickGesture()
            // Handle click-related actions (e.g., opening a webpage)
        }
    }


I have also added these delegates:

 GADAdLoaderDelegate, GADNativeAdLoaderDelegate, GADNativeAdDelegate 

Anyway everything seems to be in place. I have searched everywhere and i cant find anything on what to do when getting the message: <Google> The custom click gesture feature is not enabled for your AdMob account. Talk to your account manager to request this feature for your account. In the meantime, this method is a no-op.

I dont have an account manager either and i cant find any setting at AdMob website to enable the custom click feature. I've also tried to send the AdMob Support a email but there is an error Something went wrong, please try again a very consistent error. This is my last hope if you know that this question has already been answerd before please send a link. Otherwise if you know the solution please share, any help would be greatly appreciated.



Things i have tried
I have tried to enable the custom click feature at AdMob website, no luck. I have also googled the issue alot nothing that helps has been in my search results. i have tried to ask chatGPT were it recommended me to enable the feature at Admob website or contact AdMob Support. AdMob Support does not work since there is an error for everytime you try to send an email to them. Then i have tried to use other methods in the code like:

nativeTopAd.registerClickConfirmingView(nativeTopAdMediaImage)
And also
nativeTopAd.register(nativeTopAdMediaImage, clickableAssetViews: [:], nonclickableAssetViews: [:])

With the same message printing in the console everytime:

Your account must be enabled to use this feature. Talk to your account manager to request this feature for your account. In the meantime, this method is a no-op.

Thanks for your time.

0

There are 0 best solutions below