Skip to content

godot-sdk-integrations/godot-admob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
               


Godot Admob Plugin

A Godot plugin that provides a unified GDScript interface for integrating Google Mobile Ads SDK on Android and iOS.

Key Features:

  • All ad formats — Banner (fixed, adaptive, inline-adaptive, collapsible), Interstitial, Rewarded, Rewarded Interstitial, App Open, and Native ads
  • Rich signal coverage — signals for load, impression, click, open, close, dismiss, reward, and failure events across all ad types
  • Node-based configuration — all ad settings (position, size, content rating, volume, COPPA/TFUA tags, personalization state) configurable directly in the Godot Inspector
  • Ad caching — built-in cache management with configurable cache sizes per ad type
  • Mediation support — AdMob by default, with support for up to 15 additional ad networks
  • UMP consent flow — built-in support for Google's User Messaging Platform for GDPR/privacy compliance
  • iOS tracking authorization — handles ATT prompts and emits tracking_authorization_granted / tracking_authorization_denied signals
  • Flexible export configuration — configure your AdMob app IDs via Inspector node or config files
  • Debug/production mode — separate debug and real ad unit IDs; toggle with a single is_real flag

Installation

Before installing: uninstall any previous version of this plugin. If installing both Android and iOS versions in the same project, ensure both use the same addon interface version.

Via AssetLib (recommended)

  1. Search for Admob in the Godot Editor's AssetLib and click Download. (AssetLib Links: Android, iOS)
  2. In the install dialog, keep the default install folder (project root) and Ignore asset root checked, then click Install.
  3. Enable the plugin under Project → Project Settings → Plugins.

If the installer warns about conflicting files when adding a second platform, you can safely ignore it — both platforms share the same addon code.

Manually

  1. Download the release archive from GitHub and unzip it into your project's root directory.
  2. Enable the plugin under Project → Project Settings → Plugins.

Quick Start

1. Add the Admob node

Add an Admob node to your main scene. In the Inspector:

  • Enter your Android/iOS application IDs (debug and real).
  • Enter your ad unit IDs for each format you plan to use. Debug IDs are pre-filled with Google's test IDs.
  • Set is_real = true only when releasing to production. Leave it false during development.

2. Initialize

func _ready() -> void:
    $Admob.initialization_completed.connect(_on_admob_initialized)
    $Admob.initialize()

func _on_admob_initialized(status_data: InitializationStatus) -> void:
    print("AdMob ready: ", status_data)
    _load_ads()

3. Load an ad

func _load_ads() -> void:
    $Admob.banner_ad_loaded.connect(_on_banner_loaded)
    $Admob.banner_ad_failed_to_load.connect(_on_banner_failed)

    var request := LoadAdRequest.new()
    $Admob.load_banner_ad(request)

Available load methods: load_banner_ad(), load_interstitial_ad(), load_rewarded_ad(), load_rewarded_interstitial_ad(), load_app_open_ad(), load_native_ad()

4. Show the ad

Once the load signal fires, call the corresponding show method with the ad_id from the received AdInfo:

func _on_banner_loaded(ad_info: AdInfo, response_info: ResponseInfo) -> void:
    $Admob.show_banner_ad(ad_info.get_ad_id())

Available show methods: show_banner_ad(ad_id), show_interstitial_ad(ad_id), show_rewarded_ad(ad_id), show_rewarded_interstitial_ad(ad_id), show_app_open_ad()

Key signals

Signal When it fires
initialization_completed(status_data) SDK initialized
*_ad_loaded(ad_info, response_info) Ad ready to show
*_ad_failed_to_load(ad_info, error_data) Load failed
*_ad_impression(ad_info) Ad became visible
*_ad_clicked(ad_info) User tapped the ad
*_ad_dismissed_full_screen_content(ad_info) Full-screen ad closed
rewarded_ad_user_earned_reward(ad_info, reward_data) Reward granted
consent_info_updated / consent_form_dismissed UMP consent flow events
tracking_authorization_granted / tracking_authorization_denied iOS ATT result

Documentation

Explore the plugin documentation for a deep dive into features:


Video Tutorials

Tutorial For Android Consent Management Displaying Ads on Android
by UnderGamer by Code Artist by Code Artist
Admob Plugin on Android Consent Management with the Admob Plugin Admob Plugin on Android
Displaying Ads on Android
by 16BitDev
Admob Plugin on Android

All Plugins

Plugin Android iOS Latest Release Downloads Stars
Admob
Connection State
Deeplink
Firebase - -
In-App Review
Native Camera
Notification Scheduler
OAuth 2.0
QR
Share

Credits

Developed by Cengiz

Based on Godot Mobile Plugin Template

Original repository: Godot Admob Plugin


Contributing

See our guide if you would like to contribute to this project.


💖 Support the Project

If this plugin has helped you, consider supporting its development! Every bit of support helps keep the plugin updated and bug-free.

Ways to Help How to do it
✨⭐ Spread the Word Star this repo to help others find it.
💡✨ Give Feedback Open an issue or suggest a feature.
🧩 Contribute Submit a PR to help improve the codebase.
❤️ Buy a Coffee Support the maintainers on GitHub Sponsors or other platforms.

⭐ Star History

Star History Chart

About

A Godot plugin that provides a unified GDScript interface for integrating Google Mobile Ads SDK on Android and iOS.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors