This addon provides an easy and beautiful way to configure AdMob directly through the editor. Supports godot-admob-android and godot-admob-ios.
- Video tutorial: https://youtu.be/WpVGn7ZasKM.
- Find the AdMob plugin by
poing.studios
- Click Download and Install
- Enable in Project→Project Settings→Plugins.
- Download godot-admob-android and/or godot-admob-ios in
Project→Tools→AdMob Download Manager→Android/iOS→LatestVersion
. - To know how to deploy, check the README.md of godot-admob-android and/or godot-admob-ios.
Manual install for custom versions.
- Pick a specific version from tags
- Download and extract as a
.zip
or.tar.gz
- Copy the extracted
addons/admob
folder intores://addons
on your project - Download godot-admob-android and/or godot-admob-ios in
Project→Tools→AdMob Download Manager→Android/iOS→LatestVersion
. - 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_ad
Show
# 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_ad
Show
# 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_ad
Show
# 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.1: https://github.com/poingstudios/godot-admob-plugin/tree/v2
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! ⭐