googleads / googleads-mobile-unity

Official Unity Plugin for the Google Mobile Ads SDK
https://developers.google.com/admob/unity
Apache License 2.0
1.34k stars 1.08k forks source link

Native Ads + v7.2.0 "The ad slot cannot handle external impression events" #2262

Closed Nyankoo closed 1 year ago

Nyankoo commented 1 year ago

[REQUIRED] Step 1: Describe your environment

[REQUIRED] Step 2: Describe the problem

Steps to reproduce:

After updating to version 7.2.0, I'm getting the following error when showing native ads: The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events.

This issue doesn't happen with version 7.1.0 of the plugin.

NVentimiglia commented 1 year ago

Hi @Nyankoo ,

Which ad formats are you using?

Nyankoo commented 1 year ago

@NVentimiglia Native, or what do you mean?

NVentimiglia commented 1 year ago

@Nyankoo yes this is what a I mean. Was this Native, Custom Native or something else?

Nyankoo commented 1 year ago

@NVentimiglia Default Native, like described here: https://developers.google.com/admob/unity/native

NVentimiglia commented 1 year ago

@Nyankoo can you describe what exactly you are doing?

Currently very few publishers are allowed to trigger their own impressions using Native Ads. This is a restricted feature which is allow listed. If you feel you should be in this group, please see your account manager and they can help you out.

Nyankoo commented 1 year ago

@NVentimiglia I'm simply showing the Native Ad like described in the link I sent above. Not doing any impression triggering on my own as far as I'm aware of.

Could you let me know how triggering my own impressions works, so I can check this in my implementation?

NVentimiglia commented 1 year ago

@Nyankoo Thanks for the response. I am looking into the issue and will get back to you shortly.

We handle impression tracking internally, so this might be an issue on our end.

NVentimiglia commented 1 year ago

Hi @Nyankoo

Native ad formats are currently in beta. To get added onto the allow list for this beta, please talk to your account manager.

Nyankoo commented 1 year ago

@NVentimiglia There is no mention that Native Ads are still in beta status and that you need an account manager for that: https://developers.google.com/admob/unity/native

Can you please elaborate this more?

xsasoftware commented 1 year ago

We have the same problem. We upgraded from 7.0 to 7.2. Also we use native and open ads in our apps. After upgrade to sdk 7.2.0 ( for anr app optimization ), native and open ads have 30-40k request daily but 0 impressions. In debug console, I see this error message: "E Ads : The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events." We didn't touch native and open implementation that worked with previous sdk versions. Thank you!

Nyankoo commented 1 year ago

@NVentimiglia Any update on this? This seems not like a "beta" issue like you described above.

somedude5001 commented 1 year ago

@NVentimiglia We have exactly the same issue in Unity. Native ads worked perfectly before updating to 7.2 but now when a native ad is shown on screen then it just spams the same error in logcat "The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events." FPS also tanks when this is happening making the app unusable until the ad is no longer on screen.

Nyankoo commented 1 year ago

@NVentimiglia This is a serious issue, making the 7.2.0 version literally unusable when displaying Native Ads in our apps (major slowdowns from the error logging).

An update on this would be greatly appreciated!

somedude5001 commented 1 year ago

@NVentimiglia Hi, can you 100% confirm that the use of native ads has changed in version 7.2 and are no longer allowed unless you speak with an account manager? We have been using using native ads in Unity for around 2 years without issue and without being put on a list so this seems like a bug.

7.1 on Android does not have this issue so it is still possible to use native ads and app open ads in the same app.

7.1 on iOS does have this issue though. Whenever a native ad is on screen on ios it logs "This feature has not been enabled for your account and is a no-op. If you are interested in using this feature, reach out to your account manager." So currently it is not possible to use native ads and app open ads in the same app as AOA's are only available from 7.1.

somedude5001 commented 1 year ago

I can confirm that 7.1 does indeed have the same issue on Android although it did not become apparent until we deleted the Library folder and let it rebuild.

Slan1 commented 1 year ago

@NVentimiglia Hello, I wanted to integrate Admob native ads into my Unity app and I followed this official guide while implementing them: https://developers.google.com/admob/unity/native But I experience the same error on my device: The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events. Though it needs to be said I'm using sample AdMob app id and sample native ad unit ID (I did not create my AdMob account yet). How can I fix this issue? I thoroughly followed the official guide, and as outlined in previous comments, I also believe it's an issue at your end. It has already been a month since you said "I am looking into the issue and will get back to you shortly. We handle impression tracking internally, so this might be an issue on our end.". This is a very serious problem, I can't use Admob in my app if this error persists.

xsasoftware commented 1 year ago

@NVentimiglia Hello, I wanted to integrate Admob native ads into my Unity app and I followed this official guide while implementing them: https://developers.google.com/admob/unity/native But I experience the same error on my device: The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events. Though it needs to be said I'm using sample AdMob app id and sample native ad unit ID (I did not create my AdMob account yet). How can I fix this issue? I thoroughly followed the official guide, and as outlined in previous comments, I also believe it's an issue at your end. It has already been a month since you said "I am looking into the issue and will get back to you shortly. We handle impression tracking internally, so this might be an issue on our end.". This is a very serious problem, I can't use Admob in my app if this error persists.

Overwrite the last Admob version with 7.1.0 and your native ads will work.

Slan1 commented 1 year ago

@NVentimiglia Hello, I wanted to integrate Admob native ads into my Unity app and I followed this official guide while implementing them: https://developers.google.com/admob/unity/native But I experience the same error on my device: The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events. Though it needs to be said I'm using sample AdMob app id and sample native ad unit ID (I did not create my AdMob account yet). How can I fix this issue? I thoroughly followed the official guide, and as outlined in previous comments, I also believe it's an issue at your end. It has already been a month since you said "I am looking into the issue and will get back to you shortly. We handle impression tracking internally, so this might be an issue on our end.". This is a very serious problem, I can't use Admob in my app if this error persists.

Overwrite the last Admob version with 7.1.0 and your native ads will work.

@xsasoftware Thank you, this solution works!

@NVentimiglia As soon as I downgraded to 7.1.0 I no longer get this error. I highly recommend to you that you look into this bug because if you guys won't fix it nobody will be able to use Unity native ads. And the lack of communication on your side is very saddening, due to the fact that this is such a pressing issue.

somedude5001 commented 1 year ago

Hi @NVentimiglia, please can you at least acknowledged this issue. It is holding us back by making it difficult to plan app updates when we don't know if this issue is being or will ever be dealt with as after 1 month this issue has still yet to be acknowledged. Right now this plugin feels like its being worked on by one guy in his spare time rather than a Google product.

NVentimiglia commented 1 year ago

Hi Everyone,

I am looking into the issue and will update this issue shortly. Thank you for your patience.

Maskusa commented 1 year ago

Hi all! I also had the problem: "Native Ads + v7.2.0". I checked the latest build "Native Ads + v7.3.0" and Native Ads ads are working successfully. Check your iprojects.

Nyankoo commented 1 year ago

Hi all! I also had the problem: "Native Ads + v7.2.0". I checked the latest build "Native Ads + v7.3.0" and Native Ads ads are working successfully. Check your iprojects.

7.3.0 is not really an option either because of all the crashes reported also on here! That said, maybe it's now easier for the AdMob team to find the underlying issue.

Maskusa commented 1 year ago

Hi all! I also had the problem: "Native Ads + v7.2.0". I checked the latest build "Native Ads + v7.3.0" and Native Ads ads are working successfully. Check your iprojects.

7.3.0 is not really an option either because of all the crashes reported also on here! That said, maybe it's now easier for the AdMob team to find the underlying issue.

I will clarify that there are no errors regarding Native banners. But there is a strange behavior with the fact that Interstitial and Rewarded ad impressions fell by about 50-60%, although placement requests did not fall. I've been looking into this behavior lately. So far, I can't link these events to SDK compatibility, but I'm working on it. As soon as there is new information, I will write.

Maskusa commented 1 year ago

Hi all! I also had the problem: "Native ads + v7.2.0". I tested the "Native Ads + v7.3.0" build and the Native Ads ads are working successfully. I checked the build "Native Ads + v7.3.1" Lots of errors in the log. Native Ads banners load and work.

2022.11.25 13:10:04.885 Error Ads The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events.

Screenshot_14

Nyankoo commented 1 year ago

@NVentimiglia Your last update on this was over a month ago while you said you will update the issue "shortly". Any progress so far in fixing this issue? It seems it still happens in v7.3.1

gollobo commented 1 year ago

Same here, all working but lots of errors in the log: Error Ads The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events.

MortezaNedaei commented 1 year ago

There is a similar issue for click events when you are using .ForNativeAd() instead of ForCustomNativeAd(FormatId). Because the click events and impressions are limited in .ForNativeAd()

So you need to use ForCustomNativeAd like this:

AdLoader adLoader = new AdLoader
            .Builder(AdUnitID)
            .ForCustomNativeAd(FormatId)  // <-----
            .Build();

For custom native ads, you need to manage click events and impressions yourself:

nativeAd.PerformClick("assetName");
nativeAd.RecordImpression();
Maskusa commented 1 year ago

If you publish an application with errors in the logs, then even if the banners are displayed normally, Admob does not count these impressions. (I don’t remember exactly if this is true)

My implementation looked like this:

        adLoader = new AdLoader.Builder(idNative).ForNativeAd().Build();

        adLoader.OnNativeAdLoaded += this.HandleOnUnifiedNativeAdLoaded;
        adLoader.OnNativeAdImpression += this.HandleOnNativeAdImpression;
        adLoader.OnNativeAdClicked += this.HandleOnNativeAdClicked;
        adLoader.OnNativeAdOpening += this.HandleOnNativeAdOpening;
        adLoader.OnNativeAdClosed += this.HandleOnNativeAdClosed;

        adLoader.LoadAd(AdRequestBuild());
gollobo commented 1 year ago

With Plugin 7.2.0+ You get the error The ad slot cannot handle external impression events. You must be in the allow list to be able to report your impression events. and the plugin becomes unusable.

With Plugin 7.1.0 The plugin works properly, and I am able to receive ads and all assets. When I click on one of the boxcolliders it redirects me correctly to the page BUT in the console appears:

Received log message: <Google:HTML> Invalid click coordinates detected. Click coordinate (222.28569, 16.000100000000003) should be positive and within the ad view boundary.

Unable to append parameter to URL: https://googleads.g.doubleclick.net/aclk?ri=1&act=1&fbs_aeid=*URL*

What makes the click not valid and still not working too.

To add more information:

Has anyone managed to fix the invalid click error on a canvas?

Nyankoo commented 1 year ago

@NVentimiglia Is this even worked on? Please give us an update on this!

gollobo commented 1 year ago

I will clarify that there are no errors regarding Native banners. But there is a strange behavior with the fact that Interstitial and Rewarded ad impressions fell by about 50-60%, although placement requests did not fall. I've been looking into this behavior lately. So far, I can't link these events to SDK compatibility, but I'm working on it. As soon as there is new information, I will write.

Hello @Maskusa Have you found the solution to drop impressions? We have also suffered a drop of 50-60% in the latest plugin updates

kunny commented 1 year ago

For those who're still experiencing the issue, please try upgrading the plugin version to 7.4.0 (and native plugin also), which should fix a few native ad issues. Thanks!

chintanjoshi01 commented 10 months ago

I got same error in android jetpack compose