Shin-NiL / Godot-Android-Admob-Plugin

Android AdMob plugin for Godot Game Engine 3.2 or higher
MIT License
543 stars 66 forks source link

load interstitial making force close on my android #182

Open MasterrenderStudio opened 2 years ago

MasterrenderStudio commented 2 years ago

**Godot version: 3.3.3

**AdMob Plugin version: 5.0.1

**Issue description: loading interstitial ad at the beggining or func ready is giving an error on my phone and force close. i think this would be admob problem android 9 my experiment:

EDIT! i found the error, it caused the admob on Interstitial ad keep loading, so it make the game stuck and frame to drop, if you could prepare a stop load function if too long

maihomahesh commented 2 years ago

My app also crashes when load_interstitial() or load_rewarded_video() on godot 3.4. However, load_banner works fine. Any help?

wardensdev commented 2 years ago

I'm having the same issue. Same Godot and Plugin versions as MasterrenderStudio.

I tried calling loadInterstitial(interstitial_id) from the singleton directly to no avail.

MasterrenderStudio commented 2 years ago

My app also crashes when load_interstitial() or load_rewarded_video() on godot 3.4. However, load_banner works fine. Any help?

like my experiment, admob does not provide a stop ad feature. this is very important if ad loading takes so long, ad not available and etc.To show the ad, it would be nice if it was loaded first then put a time if the internet connection is slow and the ad is not available then the time will stop if the ad is still loading. I'm still waiting for the next update to add the stop ad feature or maybe I'll program it myself

Torguen commented 2 years ago

Ok, I think you mean the bug I have reported. https://github.com/Shin-NiL/Godot-Android-Admob-Plugin/issues/184

It can be circumvented but I think the error must be solved.

What is happening is that when you close an interstitial, it is automatically reloaded, this triggers your "interstitial_loaded" signal and then the interstitial is displayed. You should not show the interstitial when the "interstitial_loaded callback has been loaded and fired.

What I have done: Loads the interstitial at the start of the application. Don't connect the "interstitial_loaded" signal Create a function called "show_interstitial". In this function it checks "is_interstital_loaded (bool included in the plugin) == true" and then shows the interstitial