
Publisher
poingstudios
AdMob
Want to make money from your mobile game? The AdMob plugin created by Poing Studios for Godot v4.1+ lets you easily add ads to your game, whether you're on Android or iOS. Just focus on making your game awesome, and let AdMob take care of the ads!
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
🦾Godot AdMob Plugin
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.
📦Installation
📥Godot Asset Library (recommended)
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.
🙋♂️How to use
After installation, all the methods will be available for use in any .gd
script.
📋Examples
Initialize AdMob
func _ready() -> void:
#just need to call once
MobileAds.initialize()
🎏Banner Ads
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())
📺Interstitial Ads
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()
🎁Rewarded Ads
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()
🎁📺Rewarded Interstitial Ads
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)
📎Useful links:
- 🍏 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
📄Documentation
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.
🙏 Support
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!
🆘Getting help
⭐ Star History
If you appreciate our work, don't forget to give us a star on GitHub! ⭐