godot-admob-plugin
godot-admob-plugin copied to clipboard
This repository is for Godot's Addons to integrate natively AdMob to your Game Project without much configurations and directly inside Godot Editor!
🦾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/Poing-Studios/godot-admob-ios
- 🤖 Android: https://github.com/Poing-Studios/godot-admob-android
- ⏳ Plugin for Godot below v4.1: https://github.com/Poing-Studios/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! ⭐