googleads-mobile-unity icon indicating copy to clipboard operation
googleads-mobile-unity copied to clipboard

[GMA Unity 10.1 and 10.2] The 3 button navigation panel is showing up during the game.

Open xGeorgeV opened this issue 7 months ago • 20 comments

[REQUIRED] Step 1: Describe your environment

  • Unity version: 6.1.1
  • Google Mobile Ads Unity plugin version: 10.1.0
  • Plugin installation method: package import
  • Platform: Android
  • Platform OS version: Android 16
  • Any specific devices issue occurs on: _____
  • Mediation ad networks used, and their versions: AppLovin, Pangle, Liftoff

[REQUIRED] Step 2: Describe the problem

The 3 button navigation panel is showing up UMP consent request (it's okay) and when showing AppOpenAd (this is a mistake). The 3 button navigation panel is showing up during the game. It does not disappear after consent is requested and after AppOpenAd. The 3 button navigation panel only disappears during the full screen ad, but its place (black box) remains there.

AppOpenAd:

Image

Menu:

Image

Game:

Image

xGeorgeV avatar May 07 '25 19:05 xGeorgeV

Thanks for bringing to our attention. We have added a fix for this and will include this in the next release. It will likely be out in another 2 weeks.

vinkini avatar May 08 '25 21:05 vinkini

Thanks for bringing to our attention. We have added a fix for this and will include this in the next release. It will likely be out in another 2 weeks.

THX. OK.

xGeorgeV avatar May 09 '25 09:05 xGeorgeV

Unity version: 6.1.2 Google Mobile Ads Unity plugin version: 10.1.0 The end result is the same.

xGeorgeV avatar May 09 '25 16:05 xGeorgeV

Thanks for bringing to our attention. We have added a fix for this and will include this in the next release. It will likely be out in another 2 weeks.

Is this issue going to be fixed as well? https://github.com/googleads/googleads-mobile-unity/issues/3765 # Thanks!

dcosmin-97 avatar May 16 '25 12:05 dcosmin-97

Unity version: 6.1.3 Google Mobile Ads Unity plugin version: 10.1.0 Same result.

xGeorgeV avatar May 18 '25 17:05 xGeorgeV

Hey @xGeorgeV, The fix will be part of the GMA Unity plugin. I will update this thread when its out.

vinkini avatar May 19 '25 16:05 vinkini

Hey @xGeorgeV, The fix will be part of the GMA Unity plugin. I will update this thread when its out.

THX. OK.

xGeorgeV avatar May 19 '25 19:05 xGeorgeV

Same problem with Unity version: 6.1.5 Google Mobile Ads Unity plugin version: 10.2.0

Consent Page:

Image

Loading:

Image

AppOpenAd Stage 1:

Image

AppOpenAd Stage 2:

Image

Game Menu:

Image

Game:

Image

Game Start with AppOpenAd but without Consent Page:

Image

Game Start with AppOpenAd but without Consent Page then Interstitial Ad:

Image

After Interstitial Ad the Game Menu:

Image

xGeorgeV avatar May 31 '25 16:05 xGeorgeV

Please allow to turn the "3 Button Navigation Panel" ON and OFF using C# code. Example: GoogleConsent.Hide3ButtonNavigationPanel() or GoogleMobileAds.Hide3ButtonNavigationPanel()

Using of the "3 Button Navigation Panel" is unnecessary. Only a [Back] button or [Exit] button is needed on the Consent Screen. Or a small (x) button should be placed in the top corner of the consent screen to exit.

During the advertisements the "3 Button Navigation Panel" should not appear.

xGeorgeV avatar May 31 '25 17:05 xGeorgeV

In my opinion, this is Unity's fault and not GMA's fauIt.

I tried the Unity 6.1 with just my game. No Firebase, no GMA, no UMP, no Mediation. Just the game. First, the game works as expected. But while playing, a floating notification came, then the 3 button navigation panel is showing up during the game and it didn't disappear until the end of the game.

"The game's ANR rate (User Perceived ANR Rate) with GMA is 10%. Installations affected 41.67%." The game's ANR rate without GMA is 0.2%. "Error: Native method - com.unity3d.player.ReflectionHelper.nativeProxyInvoke - Input dispatching timed out - Could be SDK related."

xGeorgeV avatar Jun 05 '25 13:06 xGeorgeV

User Perceived ANR Rate dramatically decreased without GMA: Image

xGeorgeV avatar Jun 07 '25 13:06 xGeorgeV

Same problem with Unity version: 6.1.6 Unity Ads version: 4.12.0 NO GMA! The 3 button navigation panel is appears after the Unity interstitial advertisement. (This is the case for GMA interstitial advertisement as well.)

In my opinion, this is Unity's fault and not GMA's fauIt.

xGeorgeV avatar Jun 08 '25 18:06 xGeorgeV

Hey @xGeorgeV , Thanks for running the various tests to get more details. Testing with the sample HelloWorld app, i do see the 3 button navigation get dismissed after the consent screen is showed. In case of full screen ads we make sure not to show the 3 button navigation bar however we can only guarantee this when Admob is rendering the ad. In case of ads via mediation, its not possible for us to set the flags to show it in "Immersive Mode" as rendering is handled by those networks.

From what I understand with respect to how it is commonly implemented, Unity/Networks use a bunch of flags to indicate to Android that the navigation be hidden. However system notifications can cause the UnityPlayer window to lose focus and Android might wipe out all the set flags. Perhaps it is possible to listen to when the UnityPlayerActivity window regains focus and set all those flags. In that case, we might be able to add an API or do it automatically. Is it possible for you to test it out using our sample app and see if you reproduce a similar experience? I will check with the mediation teams to see if we can find a way to do it on the adapters.

vinkini avatar Jun 09 '25 00:06 vinkini

"Is it possible for you to test it out using our sample app and see if you reproduce a similar experience?"

Yes. Just give me a link to download the sample program.

xGeorgeV avatar Jun 09 '25 08:06 xGeorgeV

Thanks @xGeorgeV . Here is the link to the Admob sample https://github.com/googleads/googleads-mobile-unity/tree/main/samples/HelloWorld

vinkini avatar Jun 09 '25 17:06 vinkini

Thanks for the link. I'm testing!

xGeorgeV avatar Jun 09 '25 18:06 xGeorgeV

Unity version: 6.1.6 Google Mobile Ads Unity plugin version: 10.2.0 HelloWorld Sample App. The 3 button navigation panel is showing up. I will send the HelloWorld project link with the executable HelloWorld.apk application soon. The modified HelloWorld test works with interstitial advertising.

Image

xGeorgeV avatar Jun 10 '25 18:06 xGeorgeV

Download the HelloWorld Unity project: https://1drv.ms/u/c/847fb9bee8c1cf57/Ef2B7GQQop1Op5mnkZmt6NUBflP011hbygOb__ZKPIPGJg If the download button does not appear in the middle of the screen, it can be found in the upper left part of the screen.

HelloWorld.apk instructions for use.

First start. Start the app. Wait for the Consent Page. Set consent. The 3 button navigation panel is showing up. The panel is always visible while using the app. Except for interstitial test advertisements.

Second and further starts. Start the app. Tap the "Load Ad" button. Wait for "Ad Loaded" caption. Tap "Show Ad" button. The test interstitial ad appears. Double-tap the (i) button in the bottom left corner. the "adssettings.google.com" web page opens. Tap Back button on the 3 button navigation panel. Close the test interstitial ad with (x) button. The 3 button navigation panel is showing up. The panel is always visible while using the app. Except for interstitial test advertisements.

The 3 button navigation panel also appears if a floating message arrives while using the app.

xGeorgeV avatar Jun 10 '25 19:06 xGeorgeV

Unity version: 6.1.7 Google Mobile Ads Unity plugin version: 10.2.0 HelloWorld Sample project with HelloWorld.apk. New. Now includes all ad types menu items. The 3-button navigation panel is showing up after Consent Page or a floating message arrives or we tap on the advertisement or information (i) icon.

Download the new HelloWorld Unity project: https://1drv.ms/u/c/847fb9bee8c1cf57/EbxD1JwAWGtEsH3vOfEr2t8BUmRR9SOi0nvKNy8HtY5nng If the download button does not appear in the middle of the screen, it can be found in the upper left part of the screen.

HelloWorld.apk instructions for use see previous post.

xGeorgeV avatar Jun 12 '25 14:06 xGeorgeV

In the HelloWorld Sample after exiting the GoogleMobileAds.Api.MobileAds.OpenAdInspector() method always hides the 3-button navigation panel when it is visible.

xGeorgeV avatar Jun 16 '25 13:06 xGeorgeV

I tried to reduce the ANR value.

The game with GMA 10.2 (Google Mobile Ads). App Open Ad, Banner Ad, Interstitial Ad and Rewarded Ad:

Image

The game with GMA 10.2 (Google Mobile Ads). ONLY Interstitial Ad:

Image

xGeorgeV avatar Jun 19 '25 16:06 xGeorgeV

Hey George,

Apologies I havent looked at the 3 button issue for a bit but will look into it soon and get back to you.

With respect to the ANR's, that is a very interesting pattern. Some of our publishers have mentioned that turning on the ability to get the callbacks on main thread have seen an overall reduction in ANRs. Is your app already leveraging this setting? https://developers.google.com/admob/unity/global-settings#raise_ad_events_on_the_unity_main_thread

Note: One side effect of this is that the callbacks are not triggered immediately and GMA will wait to get hold of the Unity Main thread before dispatching the event. Since when showing full screen ads, the Unity app is paused, the main thread will only be captured when the ad is dismissed. This will cause all fullscreen events such as OnAdFullScreenContentOpened, OnAdClicked, OnAdFullScreenContentClosed, On etc to be fired after the user closes the ad. Please also ensure that the MobileAds APIs/properties are called from the Unity main thread such as from a mononehavior lifecycle callback like a Start()/Awake(), etc.

Let me know if this helps.

vinkini avatar Jun 19 '25 23:06 vinkini

I don't use "MobileAds.RaiseAdEventsOnUnityMainThread = true;" setting. But I got some error messages like this: "[libgame.so] Unity::SetThisThreadAsMainThread() SIGTRAP" in the Google Play Console. I think something is triggering this. In my opinion (as you mentioned), it is allowed to call the advertising methods (like Load(), Show(), etc.) in the Awake(),Start() and Update() methods. I have used both method FixedUpdate() and method OnAdFullScreenContentClosed() before.

I tried a new version with a larger number of players (~18,000 / day). This is the result:

Image

xGeorgeV avatar Jun 20 '25 18:06 xGeorgeV

Nice ANR value: The code only calls the advertising methods (like Load(), Show(), etc.) from the Awake(),Start() and Update() methods.

Image

xGeorgeV avatar Jun 29 '25 11:06 xGeorgeV

Same problem with Unity version: 6.2.0f1 Google Mobile Ads Unity plugin version: 10.4.1 HelloWorld sample project. The 3-button navigation panel is showing up after Consent Page ...

Image

xGeorgeV avatar Jul 03 '25 19:07 xGeorgeV