The complete solution for AdMob integration in Godot.
Supports godot-admob-android and godot-admob-ios natively.

Manual install for custom versions.
- Pick a specific version from tags
- Download and extract as a
.zipor.tar.gz - Copy the extracted
addons/admobfolder intores://addonson your project
- Enable in
Project → Project Settings → Plugins.- If the automatic download & installation fails, go to
Project → Tools → AdMob Manager → Android/iOS → Download & Install.
- If the automatic download & installation fails, go to
- To know how to deploy, check the README.md of godot-admob-android and/or godot-admob-ios.
After installation, all the methods will be available for use in any .gd script.
Initialize AdMob
func _ready() -> void:
#just need to call once
MobileAds.initialize()Load (will automatically shows)
# button signal on scene
func _on_load_banner_pressed() -> void:
var unit_id : String
if OS.get_name() == "Android":
unit_id = "ca-app-pub-3940256099942544/6300978111"
elif OS.get_name() == "iOS":
unit_id = "ca-app-pub-3940256099942544/2934735716"
var ad_view := AdView.new(unit_id, AdSize.BANNER, AdPosition.Values.TOP)
ad_view.load_ad(AdRequest.new())Load
var interstitial_ad : InterstitialAd
var interstitial_ad_load_callback := InterstitialAdLoadCallback.new()
func _ready():
interstitial_ad_load_callback.on_ad_failed_to_load = on_interstitial_ad_failed_to_load
interstitial_ad_load_callback.on_ad_loaded = on_interstitial_ad_loaded
# button signal on scene
func _on_load_interstitial_pressed() -> void:
var unit_id : String
if OS.get_name() == "Android":
unit_id = "ca-app-pub-3940256099942544/1033173712"
elif OS.get_name() == "iOS":
unit_id = "ca-app-pub-3940256099942544/4411468910"
InterstitialAdLoader.new().load(unit_id, AdRequest.new(), interstitial_ad_load_callback)
func on_interstitial_ad_failed_to_load(adError : LoadAdError) -> void:
print(adError.message)
func on_interstitial_ad_loaded(interstitial_ad : InterstitialAd) -> void:
self.interstitial_ad = interstitial_adShow
# button signal on scene
func _on_show_pressed():
if interstitial_ad:
interstitial_ad.show()Load
var rewarded_ad : RewardedAd
var rewarded_ad_load_callback := RewardedAdLoadCallback.new()
func _ready():
rewarded_ad_load_callback.on_ad_failed_to_load = on_rewarded_ad_failed_to_load
rewarded_ad_load_callback.on_ad_loaded = on_rewarded_ad_loaded
# button signal on scene
func _on_load_interstitial_pressed() -> void:
var unit_id : String
if OS.get_name() == "Android":
unit_id = "ca-app-pub-3940256099942544/5224354917"
elif OS.get_name() == "iOS":
unit_id = "ca-app-pub-3940256099942544/1712485313"
RewardedAdLoader.new().load(unit_id, AdRequest.new(), rewarded_ad_load_callback)
func on_rewarded_ad_failed_to_load(adError : LoadAdError) -> void:
print(adError.message)
func on_rewarded_ad_loaded(rewarded_ad : RewardedAd) -> void:
self.rewarded_ad = rewarded_adShow
# button signal on scene
func _on_show_pressed():
if rewarded_ad:
rewarded_ad.show()Load
var rewarded_interstitial_ad : RewardedInterstitialAd
var rewarded_interstitial_ad_load_callback := RewardedInterstitialAdLoadCallback.new()
func _ready():
rewarded_interstitial_ad_load_callback.on_ad_failed_to_load = on_rewarded_interstitial_ad_failed_to_load
rewarded_interstitial_ad_load_callback.on_ad_loaded = on_rewarded_interstitial_ad_loaded
# button signal on scene
func _on_load_interstitial_pressed() -> void:
var unit_id : String
if OS.get_name() == "Android":
unit_id = "ca-app-pub-3940256099942544/5354046379"
elif OS.get_name() == "iOS":
unit_id = "ca-app-pub-3940256099942544/6978759866"
RewardedInterstitialAdLoader.new().load(unit_id, AdRequest.new(), rewarded_interstitial_ad_load_callback)
func on_rewarded_interstitial_ad_failed_to_load(adError : LoadAdError) -> void:
print(adError.message)
func on_rewarded_interstitial_ad_loaded(rewarded_interstitial_ad : RewardedInterstitialAd) -> void:
self.rewarded_interstitial_ad = rewarded_interstitial_adShow
# button signal on scene
func _on_show_pressed():
if rewarded_interstitial_ad:
rewarded_interstitial_ad.show(on_user_earned_reward_listener)- 🍏 iOS: https://github.com/poingstudios/godot-admob-ios
- 🤖 Android: https://github.com/poingstudios/godot-admob-android
- ⏳ Plugin for Godot below v4.2: https://github.com/poingstudios/godot-admob-plugin/tree/v3
For a complete documentation of this Plugin including how to mediation: check here.
Alternatively, you can check the docs of AdMob itself of Android and iOS.
If you find our work valuable and would like to support us, consider contributing via these platforms:
Your support helps us continue to improve and maintain this plugin. Thank you for being a part of our community!
If you appreciate our work, don't forget to give us a star on GitHub! ⭐
