Godot AdMob - App Open Ads
SkillDev toolsProvides instructions to implement, load, show, and destroy App Open ads (shown on application startup or app resume) in GDScript and C#. Use when integrating App Open ads.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Godot AdMob - App Open Ads skill
What this skill tells your AI
The instructions your AI receives, as published by poingstudios/godot-admob-plugin in platforms/godot_editor/addons/admob/skills/godot-admob-app-open/SKILL.md and read by ahel’s review.
Assists with implementing App Open ads using the AppOpenAdLoader and AppOpenAd classes in Godot 4.x.
App Open Ads Workflow
- Instantiate AppOpenAdLoader: Set up a loader instance.
- Configure AppOpenAdLoadCallback: Define success (
on_ad_loaded) and failure callbacks. - Load the Ad: Call
app_open_loader.load()passing the Ad Unit ID,AdRequest, and load callback. - Handle Loaded Ad: Save the loaded
AppOpenAdinstance. - Configure FullScreenContentCallback: Connect events to destroy/cleanup the ad on dismissal.
- Show the Ad: Call
app_open_ad.show()when the user launches or switches back to your game. - Crucial: Destroy the Ad: Call
app_open_ad.destroy()inside the dismissed or show failure callbacks to free native memory.
Code Examples
=== "GDScript"
```gdscript
var app_open_ad: AppOpenAd
var app_open_loader := AppOpenAdLoader.new()
func load_app_open_ad() -> void:
var ad_unit_id := "ca-app-pub-3940256099942544/9257395921" # Test ID
var callback := AppOpenAdLoadCallback.new()
callback.on_ad_loaded = func(ad: AppOpenAd) -> void:
app_open_ad = ad
print("App Open ad loaded.")
setup_app_open_callbacks()
callback.on_ad_failed_to_load = func(error: LoadAdError) -> void:
print("App Open ad failed to load: ", error.message)
app_open_loader.load(ad_unit_id, AdRequest.new(), callback)
func setup_app_open_callbacks() -> void:
if not app_open_ad:
return
var callbacks := FullScreenContentCallback.new()
callbacks.on_ad_dismissed_full_screen_content = func() -> void:
print("App Open ad dismissed.")
app_open_ad.destroy()
app_open_ad = null
callbacks.on_ad_failed_to_show_full_screen_content = func(error: AdError) -> void:
print("App Open ad failed to show: ", error.message)
app_open_ad.destroy()
app_open_ad = null
app_open_ad.full_screen_content_callback = callbacks
func show_app_open_ad() -> void:
if app_open_ad:
app_open_ad.show()
else:
print("App Open ad not loaded yet.")
```
=== "C#"
```csharp
using Godot;
using PoingStudios.AdMob.Api;
using PoingStudios.AdMob.Api.Listeners;
using PoingStudios.AdMob.Api.Core;
private AppOpenAd _appOpenAd;
private AppOpenAdLoader _appOpenLoader = new AppOpenAdLoader();
public void LoadAppOpenAd()
{
string adUnitId = "ca-app-pub-3940256099942544/9257395921"; // Test ID
var callback = new AppOpenAdLoadCallback();
callback.OnAdLoaded = (AppOpenAd ad) => {
_appOpenAd = ad;
GD.Print("App Open ad loaded.");
SetupAppOpenCallbacks();
};
callback.OnAdFailedToLoad = (error) => {
GD.Print($"App Open ad failed to load: {error.Message}");
};
_appOpenLoader.Load(adUnitId, new AdRequest(), callback);
}
private void SetupAppOpenCallbacks()
{
if (_appOpenAd == null) return;
var callbacks = new FullScreenContentCallback();
callbacks.OnAdDismissedFullScreenContent = () => {
GD.Print("App Open ad dismissed.");
_appOpenAd.Destroy();
_appOpenAd = null;
};
callbacks.OnAdFailedToShowFullScreenContent = (error) => {
GD.Print($"App Open ad failed to show: {error.Message}");
_appOpenAd.Destroy();
_appOpenAd = null;
};
_appOpenAd.FullScreenContentCallback = callbacks;
}
public void ShowAppOpenAd()
{
if (_appOpenAd != null)
{
_appOpenAd.Show();
}
}
```
Signals
- GitHub stars
- 616
- Forks
- 50
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
godot-admob-app-open- Source
- github.com/poingstudios/godot-admob-plugin