Home     

Published

- 3 min read

TootAdMob UnrealEngine Plugin Document

img of TootAdMob UnrealEngine Plugin Document

AdMob Integration


Overview


TootAdMob Integration is a UE5.8 plugin that provides full Blueprint access to Banner Ads , Interstitial Ads, Rewarded Interstitial Ads, Rewarded Video Ads and AppOpen Ads on Android (arm64) and iOS 26+.

The plugin acts as an integration bridge to the Google Mobile Ads SDK (SDK v13.7.0 for iOS , play-services-ads:25.4.0 for Android) by Google LLC. No C++ knowledge is required to use this plugin.


Features


  • Banner Ads with 9 positions control, show, hide, and destroy support
  • Interstitial Ads with loaded, failed, shown, closed, and clicked event callbacks
  • Rewarded Interstitial ads with reward-granted, availability-changed, and completion callbacks
  • Rewarded Video ads with reward-granted, availability-changed, and completion callbacks
  • App Open Ads with full lifecycle events (loaded, failed, shown, closed)
  • Blueprint Function Library for direct one-call ad requests
  • C++ Integration also available

Third-Party SDK


ItemValue
SDKGoogle Mobile Ads SDK for Android play-services-ads:25.4.0
Google Mobile Ads SDK for iOS GMA iOS SDK v13.7.0
ProviderGoogle LLC
LicenseGoogle Mobile Ads SDK Terms of Service
  • Note : This plugin integrates the Google Mobile Ads SDK for both Android and iOS. You must independently accept the Google AdMob terms of service and register your own account and App ID at the AdMob dashboard before ads will serve.

Setup Guide


  1. Copy the plugin — Place the plugin folder inside your project’s Plugins/ directory.
  2. Enable the plugin — Open the editor, go to Edit > Plugins, search for TootAdMob , and enable it, to avoid any compatibility issues and library conflicts, disable build-in AdMob support. Inside Project Settings, go to Platforms > Android > Google Play Services and set Include AdMob support for ads to false. Restart the editor.
  3. Configure credentials — Go to Config folder , edit the configuration file : DefaultEngine.ini , add new configuration sectoin as below:
   
[TootAdMob]
; below app id from google AdMob Demo : https://github.com/googleads/googleads-mobile-ios-examples/blob/main/Objective-C/admob/BannerExample/BannerExample/Info.plist , please replace with your own when release your game.
AdMobAppIdIOS=ca-app-pub-3940256099942544~1458002511
AdMobAppIdAndroid=ca-app-pub-3940256099942544~3347511713
; below all Ad Units are testing ids, from google AdMob Demo , please replace with your own when release your game.
+BannerIDsIOS=ca-app-pub-3940256099942544/2934735716
+BannerIDsAndroid=ca-app-pub-3940256099942544/6300978111
;
+InterstitialIDsIOS=ca-app-pub-3940256099942544/1712485313
+InterstitialIDsAndroid=ca-app-pub-3940256099942544/1033173712
;
+RewardedInterstitialIDsIOS=ca-app-pub-3940256099942544/6978759866
+RewardedInterstitialIDsAndroid=ca-app-pub-3940256099942544/5354046379
;
+RewardedVideoIDsIOS=ca-app-pub-3940256099942544/1712485313
+RewardedVideoIDsAndroid=ca-app-pub-3940256099942544/5224354917
;
+OpenAppIDsAndroid=ca-app-pub-3940256099942544/9257395921
+OpenAppIDsIOS=ca-app-pub-3940256099942544/5575463023
; 
TagForChildDirectedTreatment=TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
TagForUnderAgeOfConsent=TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
MaxAdContentRating=MAX_AD_CONTENT_RATING_G

3b. For iOS , the AdMobAppIdIOS above dosen’t work , it need setup another item with properly info.

   [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
; set values for AdditionalPlistData as below, replace GADApplicationIdentifier value with your own AdMob App Id,
; replace ca-app-pub-4538255326928179~9086583338 with your own app id, otherwise app will experiment crashing
AdditionalPlistData=<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict><key>UISupportsDocumentBrowser</key><true/><key>LSSupportsOpeningDocumentsInPlace</key><true/><key>NSCameraUsageDescription</key>\n<string>App needs permission to use the camera in order to use Video features.</string><key>NSMicrophoneUsageDescription</key>\n<string>App needs permission to use the Microphone in order to use Audio features.</string><key>GADApplicationIdentifier</key><string>ca-app-pub-4538255326928179~9086583338</string><key>LSRequiresIPhoneOS</key><true/><key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict><key>SKAdNetworkItems</key><array><dict><key>SKAdNetworkIdentifier</key><string>cstr6suwn9.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>4fzdc2evr5.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>2fnua5tdw4.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>ydx93a7ass.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>p78axxw29g.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>v72qych5uu.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>ludvb6z3bs.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>cp8zw746q7.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>3sh42y64q3.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>c6k4g5qg8m.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>s39g8k73mm.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>wg4vff78zm.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>3qy4746246.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>f38h382jlk.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>hs6bdukanm.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>mlmmfzh3r3.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>v4nxqhlyqp.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>wzmmz9fp6w.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>su67r6k2v3.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>yclnxrl5pm.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>t38b2kh725.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>7ug5zh24hu.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>gta9lk7p23.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>vutu7akeur.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>y5ghdn5j9k.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>v9wttpbfk9.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>n38lu8286q.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>47vhws6wlr.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>kbd757ywx3.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>9t245vhmpl.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>a2p9lx4jpn.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>22mmun2rn5.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>44jx6755aq.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>k674qkevps.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>4468km3ulz.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>2u9pt9hc89.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>8s468mfl3y.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>klf5c3l5u5.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>ppxm28t8ap.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>kbmxgpxpgc.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>uw77j35x4d.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>578prtvx9j.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>4dzt52r2t5.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>tl55sbb4fm.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>c3frkrj4fj.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>e5fvkxwrpn.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>8c4e2ghe7u.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>3rd42ekr43.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>97r2b46745.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>3qcr597p9d.skadnetwork</string></dict></array>
  1. Package for Android or iOS — Build the project and package it for Android or iOS Shipping.

Blueprint Usage Guide


Utility Blueprint Nodes
Miscellaneous

1. Request Privacy Options : Display a form for privacy options (if needs), it’s asynchronous, error message output via **Return Event **delegate if it failed to display form.

2. Gather Ad Consent : Display a form for gathering user consent (if needs). it’s asynchronous, error message output via **Return Event **delegate if it failed to display form.

3. Show Ad Inspector : Display the Ad Inspector window, testing purpose only, convenient to check ads filling information.


Banner Ad Blurpint Nodes

1. Get Banner Ad ID Count : Get the number of banner ad id count configurated in DefaultEngine.ini ( the lenght of array of BannerIDsIOS / BannerIDsAndroid in [TootAdMob] sectoin )

Related Posts

There are no related posts yet. 😢

Support this blog

    I'm trying my best to share knowledge about Unreal Engine Game developing. If you think these posts have either helped or inspired you, please consider supporting this blog. Thank you so much for your contribution!
Ko-fi Me
Paypal Me