Jump to content
Sign in to follow this  
Yaron

Delphi 10.3 and AdMob blocking UI updates on older versions of Android

Recommended Posts

Are you experiencing this issue?

Android apps compiled with Delphi 10.3 running on older Android versions(v5, v4.4), stop updating the UI when an AdMob banner appears (using standard TBannerAd component).

 

The game I wrote is not frozen, I can hear menu action audio when I click known button positions and using the back button exits the game cleanly.

 

If an interstitial ad is shown (using JInterstitialAd), after the ad is closed the game returns to a black screen (again, only the UI updates being frozen).

 

I installed the game on several of these older devices through the google play store.

 

If you would like to test it on your own devices, the name of the game is "RGBquick" (still in beta).

Edited by Yaron

Share this post


Link to post

I used a slightly modified version of this sample code to show the JInterstitialAd (the only changes I made was to update the depreciated functions) :

https://github.com/sadettinpolat/delphi/tree/master/interstitialAds

 

In RGBquick the Interstitial ad is triggered when you open one of the leaderboard (the crown icons on the main screen).

The TBannerAd component is always visible at the bottom.

 

And remember, the issue is not particular to Interstitial ads, Delphi's (v10.3) bundled TBannerAd component freezes the entire UI. This only seems to affect Android versions earlier than v6 (no issues with v6).

 

Share this post


Link to post

I have tested 10.3 and I found in old Android, UI can not updates even if it is a simple test APP, no AdMob in it.

 

I new a project in 10.3, just a TForm with a TButton and a TLabel and a TMemo. There just has two line in Button1Click:

 

Label1.Text := 'aaa';

Memo1.Lines.Add('bbbb');

 

This test APP can work fine in my mobile with Android 8.

 

But, in mobile OPPO find 7 with Android 5, mobile XiaoMi with Android4.4, a Android PAD with Android 4.4(CPU is AllWinner A33, RAM is 1G bytes), it can install, but when I touch the Button1, nothing happened on the screen.

In debug mode, I place a break point at the code, touch the Button1, I can see IDE stopped at the break point, after I press F9, it continues run. And I touch the Button1 again, I can see IDE stopped at the break point again, it proved that the code is running, but nothing happened on the screen.

 

The same APP  compiled with D10.2.1, it can works fine on all device I mentioned above.

 

So, Yaron, have you tested a simple APP without AdMob in your Android5 or Android4.4 device?

Share this post


Link to post

The reason I wrote that AdMob was the issue was that the game is running just fine up until the point an Ad shows (either a banner at the bottom or a fullscreen Interstitial ad) at which point UI updates stop functioning.

 

However,

My app design doesn't use a TButton or TMemo (it's only using TRectangle, TImage & TLabel), so it's possible that the issue is also triggered by other components.

 

Share this post


Link to post
9 hours ago, pcplayer99 said:

I have tested 10.3 and I found in old Android, UI can not updates even if it is a simple test APP, no AdMob in it.

I have tested 10.3 on an Android 5.1.1 device and it updates the UI just fine

Share this post


Link to post

 

I have tested five device:

 

1. A PAD with Android 4.4;

2. Mobile XiaoMi with Android 4.4.

3. Mobile OPPO Find7 with Android 5.0

4. Mobile VIVO with Android 8.0

5. Mobile HuaWei with Android 8.0

 

test APP by 10.2 is work fine on all above device.

by 10.3, just can work fine in two Android 8.0 device.

 

On device 1, 10.3 just show a black screen.

On device 2,3,4, 10.3 can show form but can not update UI when I click the button to run code Label1.Text := 'aaaa';

 

Share this post


Link to post

I tried it on Galaxy S2 (Android 4.0.4) and Galaxy S4 (Android 5.0), both had UI lockup issues, no issue with Galaxy S5 or Galaxy Note 4 (Android 6).

It may be possible that the problem is with Android 5.0 and older, I don't have a 5.1 device to test.

Share this post


Link to post

Has anyone else experienced this or found a solution?

 

If there is no solution, how do I modify the XML manifest so the google play store only allows Android 6+ devices to install the app?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×