Admob Unity插件簡介
Admob Unity插件提供了一種将admob廣告內建到Unity3D Game和u3d應用中的方法。您可以将其用于具有相同c#或js代碼的Unity iOS和Android App。
是Unity3d的Admob SDK插件,此插件使js和c#開發人員更容易在Unity3d遊戲中添加Google廣告,支援iOS和Android,支援admob插頁式廣告和橫幅
Admob Unity插件說明
Google移動廣告SDK是Google移動廣告中最新一代的産品,具有完善的廣告格式和簡化的API,可通路移動廣告網絡和廣告解決方案。該SDK使Unity移動應用程式開發人員能夠最大程度地利用本機移動應用程式獲利。
該存儲庫包含Google Mobile Ads Unity插件的源代碼。該插件使Unity開發人員可以輕松地在Android和iOS應用上投放Google移動廣告,而無需編寫Java或Objective-C代碼。該插件提供了一個C#接口,用于請求Unity項目中C#腳本使用的廣告。
Unity Admob插件功能
一個插件支援的平台:
- Android,通過SDK v18.3.0(Google Play服務平台的一部分)
- iOS,通過SDK v7.53
- 支援所有本地事件
- AdRequest定位方法,例如子級定位,測試模式
- 不需要更改Android包名稱
- 非常簡單的API
- 支援非個性化廣告
廣告類型:
- 智語(所有智語類型和自定義智語尺寸)
- 插頁式廣告(文字,圖檔,視訊)
- 獎勵視訊
- 進階原生廣告
下載下傳Admob Unity插件
需要AdmobPluginRes / GoogleMobileAds.framework和admob_unity_plugin.unitypackage。請
從Admob Unity3d插件項目首頁https://github.com/unity-plugins/Unity-Admob 下載下傳這些檔案,
或者下載下傳所有Unity的admob插件項目https://github.com /unity-plugins/Unity-Admob/archive/master.zip
安裝Admob Unity
- 在Unity編輯器中打開您的項目。
- 導航到Assets-> Import Package-> Custom Package。
- 選擇admob_unity_plugin.unitypackage檔案。
- 通過選擇Import導入 admobdemo.cs(示例腳本)以外的所有檔案。確定檢查與檔案的任何沖突。
您可以通過下載下傳檔案安裝并将檔案夾插件中的檔案直接複制到Unity3d項目中,
Unity插件Wiki和文檔
- 講解
- API
- 文獻
快速開始
編輯AndroidManifest.xml并配置Admob APP ID
admob從17.0版開始要求此配置,如果未配置,APP将會崩潰。在應用中添加中繼資料标記并将值設定為admob appid
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxxxx~xxxxxxxxxxxx"/>
樣例代碼
<application android:theme="@style/UnityThemeSelector" android:icon="@drawable/app_icon" android:label="@string/app_name" > <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/> </application>
編輯Info.plist,添加appid
<key>GADApplicationIdentifier</key> <string>ca-app-pub-xxxxxxxxxxxxxxxxxxxxxx~xxxxxxxxxxxxxx</string>
配置導出的Xcode項目,建構設定->其他連結器标志,添加标志-ObjC

1.Init Admob Unity插件
建立AC#腳本,将腳本拖放到場景中的對象上,在腳本檔案中添加以下代碼
using admob; Admob.Instance().initSDK(new AdProperties());//admob id configed in meta,not support in code any more
您可以按如下設定admob屬性,您需要設定要設定的屬性
AdProperties adProperties = new AdProperties(); adProperties.isTesting(true);//true for test ads adProperties.isAppMuted(true); adProperties.isUnderAgeOfConsent(false); adProperties.appVolume(100); adProperties.maxAdContentRating(AdProperties.maxAdContentRating_G); string[] keywords = { "key1", "key2", "key3" }; adProperties.keyworks(keywords);
2.在Unity App中添加Admob Banner
這是顯示admob智語所需的最少代碼。
Admob.Instance().showBannerRelative("your admob banner unit id",AdSize.BANNER, AdPosition.BOTTOM_CENTER, 0);
或者您可以通過設定橫幅名稱來建立另一個橫幅
Admob.Instance().showBannerAbsolute("ca-app-pub-3940256099942544/6300978111",AdSize.BANNER, 20, 220,"mybanner");
AdPosition類指定放置橫幅的位置。AdSize指定要顯示的女巫尺寸橫幅
3.删除橫幅
預設情況下,橫幅是可見的。要隐藏橫幅,請緻電:
Admob.Instance().removeBanner();
4.如何将非頁内廣告整合到Unity 3d應用中?
這是建立插頁式廣告的最少代碼。
Admob.Instance().loadInterstitial("Your admob interstitial unit id");
與橫幅廣告不同,插頁式廣告需要明确顯示。在應用程式的适當停止點,在顯示插頁式廣告之前檢查其是否準備就緒:
if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); }
5,自定義Admob智語廣告尺寸
除了AdSize上的常量之外,您還可以建立自定義尺寸:
//Create a 250x250 banner. AdSize adSize = new AdSize(250, 250); Admob.Instance().showBannerAbsolute("Your admob banner id",adSize,0,30,"bannerName");
6.如何将Admob獎勵視訊內建到Unity3d應用中?
這是建立admob視訊的最少代碼。
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
與插頁式視訊類似的視訊需要在您應用中的适當停止點明确顯示,請在顯示視訊之前檢查視訊是否已準備就緒:
if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); }
7,在iOS和Android App中顯示Admob原生進階廣告
這是顯示admob智語所需的最少代碼。這是通過Admob原生廣告進階版(統一)實作的
Admob.Instance().showNativeBannerRelative("Your native banner id",new AdSize(360,100), AdPosition.BOTTOM_CENTER);
8.廣告活動
這兩個橫幅和間質性包含您可以注冊相同的廣告活動。在這裡,我們将示範在插頁式廣告上設定廣告事件,并在加載成功時顯示插頁式廣告:
Admob.Instance().interstitialEventHandler += onInterstitialEvent; void onInterstitialEvent(string eventName, string msg) { Debug.Log("handler onAdmobEvent---" + eventName + " " + msg); if (eventName == AdmobEvent.onAdLoaded) { Admob.Instance().showInterstitial(); } }
您隻需要注冊您關心的事件。
Unity Admob示範用法
- 将AdmobUnityPlugin.unitypackage導入到您的Unity項目中
- 将Admobdemo.cs從AdmobPluginRes複制到您的統一項目/資産dic
- 将admobdemo.cs附加到主攝像頭
- 在admobdemo.cs中編輯admob ID
- 在您的裝置中建構并運作
-
在xcode中添加-ObjC标志其他連結器标志7在Xcode Info.plist中添加meta應用程式密鑰
GADApplicationIdentifier ca-app-pub-xxxxxxxxxxxxxxxxxx〜xxxxxxxxxx
重要提示
- 如果您未配置AndroidManifest.xml,則應用将崩潰
- 如果不添加-ObjC标志,應用程式将崩潰
- 如果您未在Info.plist中添加GADApplicationIdentifier,則應用程式将崩潰