Ad Format Integration
Here's how to integrate the supported ad formats on Godot. Each ad format has its own unique characteristics and implementation details.
- Banner Ads
- Interstitial Ads
- Rewarded Ads
- App Open Ads
Banner Ads
Banner ads are rectangular advertisements that appear at the top or bottom of the device screen.
Implementation
- Load and show the banner ad:
yodo1_node.loadBannerAd("Banner", "Center", "Bottom", "Any placementID")
Parameters:
- Adsize: Banner, SmartBanner, AdaptiveBanner, IABMediumRectangle, Large Banner
- HorizontalAlignment: Left, Center, Right
- VerticalAlignment: Top, Bottom
- AdPlacement: Any string used to track different ad units in MAS Dashboard
- Hide/Show banner:
yodo1mas.hideBannerAd();
yodo1mas.showBannerAd();
- Event callbacks:
func _onBannerAdLoaded() -> void:
print("Yodo1 onBannerAdLoaded")
func _onBannerAdFailedToLoad(error_code:int) -> void:
print("Yodo1 onBannerAdFailedToLoad", error_code)
func _onBannerAdOpened() -> void:
print("Yodo1 onBannerAdOpened")
func _onBannerAdFailedToOpen(error_code:int) -> void:
print("Yodo1 onBannerAdFailedToOpen", error_code)
func _onBannerAdClosed() -> void:
print("Yodo1 onBannerAdClosed")
Interstitial Ads
Interstitial ads are full-screen ads that cover the interface of their host app.
Implementation
- Initialize and load the ad:
yodo1mas.initializeInterstitialAd()
- Check if ad is loaded:
yodo1mas.isInterstitialLoaded()
- Show the ad:
yodo1mas.showInterstitialAd("Any placement ID")
- Event callbacks:
func _onInterstitialAdLoaded() -> void:
print(" Yodo1 Interstitial ad loaded successfully!")
func _onInterstitialAdFailedToLoad(error_code:int) -> void:
print("Yodo1 onInterstitialAdFailedToLoad", error_code)
func _onInterstitialAdOpened() -> void:
print("Yodo1 onInterstitialAdOpened")
func _onInterstitialAdFailedToOpen(error_code:int) -> void:
print("Yodo1 onInterstitialAdFailedToOpen", error_code)
func _onInterstitialAdClosed() -> void:
print("Yodo1 onInterstitialAdClosed")
Rewarded Ads
Rewarded ads are full-screen video ads that users can watch in exchange for in-app rewards.
Implementation
- Initialize and load the ad:
yodo1mas.initializeRewardedAd()
- Check if ad is loaded:
yodo1mas.isRewardedAdLoaded()
- Show the ad:
yodo1mas.showRewardedAd("Any placement ID")
- Event callbacks:
func _onRewardAdLoaded() -> void:
print("yodo1 onRewardAdLoaded")
func _onRewardAdFailedToLoad(error_code:int) -> void:
print("Yodo1 onRewardAdFailedToLoad", error_code)
func _onRewardAdOpened() -> void:
print("Yodo1 onRewardAdOpened")
func _onRewardAdFailedToOpen(error_code:int) -> void:
print("Yodo1 onRewardAdFailedToOpen", error_code)
func _onRewardAdEarned() -> void:
#reward here
print("Yodo1 onRewardAdEarned")
func _onRewardAdClosed() -> void:
print("Yodo1 onRewardAdClosed")
App Open Ads
App Open ads are shown when users launch your app, resume your app, or switch back to your app.
Implementation
- Initialize and load the ad:
yodo1mas.initializeAppOpenAd()
- Check if ad is loaded:
yodo1mas.isAppOpenAdLoaded()
- Show the ad:
yodo1mas.showAppOpenAd("Any placement ID")
- Event callbacks:
func _onAppOpenAdLoaded() -> void:
print("Yodo1 onAppOpenAdLoaded")
func _onAppOpenAdFailedToLoad(error_code:int) -> void:
print("Yodo1 onAppOpenAdFailedToLoad", error_code)
func _onAppOpenAdOpened() -> void:
print("Yodo1 onAppOpenAdOpened")
func _onAppOpenAdFailedToOpen(error_code:int) -> void:
print(" Yodo1 onAppOpenAdFailedToOpen", error_code)
func _onAppOpenAdClosed() -> void:
print("Yodo1 onAppOpenAdClosed")
Best Practices
- Preload Ads: Always preload ads before showing them to ensure they're ready when needed.
- Handle Callbacks: Implement all callbacks to properly track ad states and handle errors.
- Error Handling: Always check if the ad is loaded before attempting to show it.
- User Experience: Place ads at natural transition points in your game.
- Testing: Use test ads during development and verify all callbacks are working correctly.