Admob Unity插件簡介
Admob Unity插件提供了一種將admob廣告集成到Unity3D Game和u3d應用中的方法。您能夠將其用於具備相同c#或js代碼的Unity iOS和Android App。android
是Unity3d的Admob SDK插件,此插件使js和c#開發人員更容易在Unity3d遊戲中添加Google廣告,支持iOS和Android,支持admob插頁式廣告和橫幅git
Admob Unity插件說明
Google移動廣告SDK是Google移動廣告中最新一代的產品,具備完善的廣告格式和簡化的API,可訪問移動廣告網絡和廣告解決方案。該SDK使Unity移動應用程序開發人員可以最大程度地利用本機移動應用程序獲利。github
該存儲庫包含Google Mobile Ads Unity插件的源代碼。該插件使Unity開發人員能夠輕鬆地在Android和iOS應用上投放Google移動廣告,而無需編寫Java或Objective-C代碼。該插件提供了一個C#接口,用於請求Unity項目中C#腳本使用的廣告。xcode
Unity Admob插件功能
一個插件支持的平臺:網絡
- Android,經過SDK v18.3.0(Google Play服務平臺的一部分)
- iOS,經過SDK v7.53
- 支持全部本地事件
- AdRequest定位方法,例如子級定位,測試模式
- 不須要更改Android包名稱
- 很是簡單的API
- 支持非個性化廣告
廣告類型:app
- 標語(全部標語類型和自定義標語尺寸)
- 插頁式廣告(文字,圖片,視頻)
- 獎勵視頻
- 進階原生廣告
下載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項目中,ide
Unity插件Wiki和文檔
快速開始
編輯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"/>
樣例代碼google
<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,則應用程序將崩潰
- 將admob附加到場景中的對象,在調用admob fun以前初始化admob