Chartboost interstitials freezing on Android

I’ve found an issue with interstitials. My code is setup like this:

if chartboost.hasCachedInterstitial( "cachedChartboost" ) then chartboost.show("interstitial", "cachedChartboost") end 

For the most part it works fine. However sometimes when hasCachedInterstitial is true, it calls an ad which fails to load correctly. My game will be frozen behind the semi-transparent black rect that chartboost ads appear above, but the ad itself never appears. I then can’t press the back button either to get back to my game, I have to hold the home button and kill the app.

When this happens the game is totally frozen creating a bad user experience. Have you seen anything similar happen? This is only tested on Android so far, so not sure if it happens on iOS or not.

On a similar note, the android Chartboost ads have always been much slower for us. The time between the ad being “dismissed” and the game actually resuming is around 3 seconds at best on Android, it seems to be much faster on iOS. So it’s probably fair to say that the Android SDK is not as stable.

Tested on:

Samsung Galaxy S4, Android 4.4.2

Nexus 7 (1st gen), Android 4.4.4

Interesting. This is exactly what happens with Video Interstitials when I tested in on Android 4.0.x (but there it happens every time). When I contacted them about this they were aware of the issue.

 

iOS has been rock-solid in my testing and Video Interstitials have now also been fixed server-side and I haven’t seen any weirdness anymore.

 

I’ve never seen this for normal interstitials on Android though. It’s a bit worrying, and it makes me wonder how stable the SDK is on Android. It would still be interesting (if at all possible) to get a logcat dump from the device when this happens. There may be something hidden in the logs that could shed some light on the issue.

For Android, I think it’s also due to different vendors (Samsung, Google, LG etc ) providing different software components on Android on which the advertising SDK’s rely upon. Even if they provide the same software it may be different versions of the software where one works and one doesn’t.

 

With the Video Interstitial issue I noticed that the media player trying to be used on my Samsung device was different than that on my Nexus which leads me to conclude that the Samsung device’s media player is incompatible with the way Chartboost is trying to display videos, thus causing a hang.

It’s great we have the exact same device. It makes it easier to compare notes.

I have the Nexus 7 (1st gen) running 4.4.4 too, and I haven’t seen any errors on that device (even for video interstitials).

 

I’ll be forwarding the info you gave me to Chartboost today, and I’ll keep you posted on their replies.

Something similar happens on my Samsung Galaxy S3 with Android 4.3 when I do caching in the applicationResume event.

App freezes in 90% of the resumes on hasCachedInterstitial / hasCachedMoreApps (even before showing the interstitial). 

However, I didn’t observe this issue on my older (slower) Galaxy S with Android 2.3.4.

function onSystemEvent( event ) ... if event.type == "applicationResume" then chartboost.startSession( chartBoostAppId, chartboostAppSignature) local hasCachedInterstitial = chartboost.hasCachedInterstitial() ... end end

A workaround seems to be calling the above chartboost stuff with delay:

timer.performWithDelay(250, ...)

If doing without delay it looks like there was some race-condition or a deadlock or at least the device is not ready to call Chartboost’s hasCached-functions.

Interesting. This is exactly what happens with Video Interstitials when I tested in on Android 4.0.x (but there it happens every time). When I contacted them about this they were aware of the issue.

 

iOS has been rock-solid in my testing and Video Interstitials have now also been fixed server-side and I haven’t seen any weirdness anymore.

 

I’ve never seen this for normal interstitials on Android though. It’s a bit worrying, and it makes me wonder how stable the SDK is on Android. It would still be interesting (if at all possible) to get a logcat dump from the device when this happens. There may be something hidden in the logs that could shed some light on the issue.

For Android, I think it’s also due to different vendors (Samsung, Google, LG etc ) providing different software components on Android on which the advertising SDK’s rely upon. Even if they provide the same software it may be different versions of the software where one works and one doesn’t.

 

With the Video Interstitial issue I noticed that the media player trying to be used on my Samsung device was different than that on my Nexus which leads me to conclude that the Samsung device’s media player is incompatible with the way Chartboost is trying to display videos, thus causing a hang.

It’s great we have the exact same device. It makes it easier to compare notes.

I have the Nexus 7 (1st gen) running 4.4.4 too, and I haven’t seen any errors on that device (even for video interstitials).

 

I’ll be forwarding the info you gave me to Chartboost today, and I’ll keep you posted on their replies.

Something similar happens on my Samsung Galaxy S3 with Android 4.3 when I do caching in the applicationResume event.

App freezes in 90% of the resumes on hasCachedInterstitial / hasCachedMoreApps (even before showing the interstitial). 

However, I didn’t observe this issue on my older (slower) Galaxy S with Android 2.3.4.

function onSystemEvent( event ) ... if event.type == "applicationResume" then chartboost.startSession( chartBoostAppId, chartboostAppSignature) local hasCachedInterstitial = chartboost.hasCachedInterstitial() ... end end

A workaround seems to be calling the above chartboost stuff with delay:

timer.performWithDelay(250, ...)

If doing without delay it looks like there was some race-condition or a deadlock or at least the device is not ready to call Chartboost’s hasCached-functions.