Godot AdMob - Get Started
SkillDev toolsProvides instructions to initialize the Godot AdMob SDK and configure user consent (UMP Flow) in GDScript and C#. Use when setting up AdMob for the first time or requesting user consent.
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 - Get Started 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-get-started/SKILL.md and read by ahel’s review.
Assists with initializing the Google Mobile Ads SDK and requesting user consent (GDPR/CCPA) using the User Messaging Platform (UMP) SDK in Godot 4.x (GDScript and C#).
Initialization Workflow
- Configure Consent Request Parameters: Configure consent debug settings (like EEA geography) for testing if necessary.
- Request Consent Update: Call
ConsentInformation.request_consent_info_update(). - Load and Show Form: If consent is required, load and show the consent form.
- Initialize SDK: Once consent is obtained or not required, configure
RequestConfigurationand initializeMobileAds.
Code Examples
=== "GDScript"
```gdscript
func request_user_consent() -> void:
var params := ConsentRequestParameters.new()
# Optional debug settings:
# var debug_settings := ConsentDebugSettings.new()
# debug_settings.debug_geography = ConsentDebugSettings.DebugGeography.EEA
# params.consent_debug_settings = debug_settings
var on_update_listener := OnConsentInfoUpdateListener.new()
on_update_listener.on_consent_info_update_success = func() -> void:
if ConsentInformation.is_consent_form_available():
load_and_show_form()
else:
initialize_ads()
on_update_listener.on_consent_info_update_failure = func(error: FormError) -> void:
initialize_ads()
ConsentInformation.request_consent_info_update(params, on_update_listener)
func load_and_show_form() -> void:
var on_dismissed_listener := OnConsentFormDismissedListener.new()
on_dismissed_listener.on_consent_form_dismissed = func(error: FormError) -> void:
initialize_ads()
ConsentForm.load_and_show_consent_form_if_required(on_dismissed_listener)
func initialize_ads() -> void:
var on_init_listener := OnInitializationCompleteListener.new()
on_init_listener.on_initialization_complete = func(status: InitializationStatus) -> void:
print("AdMob initialized!")
var request_config := RequestConfiguration.new()
MobileAds.set_request_configuration(request_config)
MobileAds.initialize(on_init_listener)
```
=== "C#"
```csharp
using Godot;
using PoingStudios.AdMob.Api;
using PoingStudios.AdMob.Api.Listeners;
using PoingStudios.AdMob.Api.Core;
using PoingStudios.AdMob.Api.Ump;
using PoingStudios.AdMob.Api.Ump.Listeners;
using PoingStudios.AdMob.Api.Ump.Core;
public void RequestUserConsent()
{
var @params = new ConsentRequestParameters();
var onUpdateListener = new OnConsentInfoUpdateListener();
onUpdateListener.OnConsentInfoUpdateSuccess = () => {
if (ConsentInformation.IsConsentFormAvailable()) {
LoadAndShowForm();
} else {
InitializeAds();
}
};
onUpdateListener.OnConsentInfoUpdateFailure = (FormError error) => InitializeAds();
ConsentInformation.RequestConsentInfoUpdate(@params, onUpdateListener);
}
private void LoadAndShowForm()
{
var onDismissedListener = new OnConsentFormDismissedListener();
onDismissedListener.OnConsentFormDismissed = (FormError error) => InitializeAds();
ConsentForm.LoadAndShowConsentFormIfRequired(onDismissedListener);
}
private void InitializeAds()
{
var onInitListener = new OnInitializationCompleteListener();
onInitListener.OnInitializationComplete = (status) => GD.Print("AdMob initialized!");
var requestConfig = new RequestConfiguration();
MobileAds.SetRequestConfiguration(requestConfig);
MobileAds.Initialize(onInitListener);
}
```
Signals
- GitHub stars
- 616
- Forks
- 50
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
godot-admob-get-started- Source
- github.com/poingstudios/godot-admob-plugin