IOS版Unity遊戲引擎的集成Admob管理庫教程

一:IOS網絡

1:轉到「File」(文件)→「Build Settings」(構建設置),依次選擇IOS平臺和Build(構建)。這將會導出Xcode項目。併發

 

2:打開導出的 Xcode 項目,並按照IOS快速入門指南中的手動導入部分來添加 Google 移動廣告 SDK。app

 

3:在Xcode中,轉到「Product」(產品)→「Run」(運行)以運行您的項目。ide

如今您已爲IOS成功導入該插件!工具


二:Unity插件API

您能夠在Google移動廣告插件中使用經常使用的C#API來請求橫幅廣告和插頁式廣告。這段代碼只需編寫一次便可,而後能夠分別部署到IOS設備中。測試


1:基本的橫幅廣告請求

如下是建立和加載橫幅廣告所需的最少代碼。動畫

using GoogleMobileAds.Api;

private void RequestBanner()
{
    #if UNITY_ANDROID
        string adUnitId = "INSERT_ANDROID_BANNER_AD_UNIT_ID_HERE";ui


    #elif UNITY_IPHONE
        string adUnitId = "INSERT_IOS_BANNER_AD_UNIT_ID_HERE";加密


    #else
        string adUnitId = "unexpected_platform";插件


   #endif

// Create a 320x50 banner at the top of the screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);


// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();


// Load the banner with the request.
bannerView.LoadAd(request);


}


AdPosition枚舉會指定橫幅廣告的展現位置。

請注意,不一樣廣告單元的使用方式要取決於具體的平臺。具體來講,在使用AdMob 時,您須要使用IOS廣告單元在IOS設備上發送廣告請求。


三:基本的插頁式廣告請求

如下是加載插頁式廣告所需的最少代碼。

using GoogleMobileAds.Api;

private void RequestInterstitial()
{

#if UNITY_ANDROID
string adUnitId = "INSERT_ANDROID_INTERSTITIAL_AD_UNIT_ID_HERE";


#elif UNITY_IPHONE
string adUnitId = "INSERT_IOS_INTERSTITIAL_AD_UNIT_ID_HERE";


#else
string adUnitId = "unexpected_platform";


#endif

// Initialize an InterstitialAd.
InterstitialAd interstitial = new InterstitialAd(adUnitId);


// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();


// Load the interstitial with the request.
interstitial.LoadAd(request);


}


與橫幅廣告不一樣,插頁式廣告須要顯式展現。請在遊戲的適當中止點(例如當前關卡結束時)檢查插頁式廣告是否已準備好進行展現。展現插頁式廣告的一個好時機是在遊戲結束時:

private void GameOver()
{
  if (interstitial.IsLoaded()) {
    interstitial.Show();
  }
}


四:自定義廣告尺寸

您能夠爲廣告指定一個自定義的尺寸而不使用AdSize常量。

AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);


1:測試廣告

咱們建議您在開發過程當中請求測試廣告,以避免產生不當的廣告展現。要請求測試廣告,請在構建廣告請求時將加密的設備 ID 添加到AddTestDevice方法。不管是 Android仍是IOS,當您的應用運行併發送有效請求時,此 ID 只能在日誌中找到。

如下說明了如何在構建廣告請求時加入測試設備。

AdRequest request = new AdRequest.Builder().AddTestDevice(AdRequest.TestDeviceSimulator) // Simulator.


.AddTestDevice("2077ef9a63d2b398840261c8221a0c9b")  // My test iPod  Touch 5.


.Build();


2:廣告請求定位

要向廣告請求提供額外的定位信息,請在構建請求時設置這些定位參數。此廣告請求示例顯示了能夠使用哪些定位方法。

AdRequest request = new AdRequest.Builder().SetGender(Gender.Male).SetBirthday(new DateTime(1985, 1, 1)).TagForChildDirectedTreatment(true).AddExtra("excl_cat", "cars,sports") // Category exclusions for DFP.
.Build();


3:廣告事件

BannerView和InterstitialAd都包含您能夠註冊的相同廣告事件。這些事件是EventHandler類型。如下示例說明如何在橫幅廣告上設置廣告事件:

private void RequestBanner()
{


BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);


// Called when an ad request has successfully loaded.
bannerView.AdLoaded += HandleAdLoaded;


// Called when an ad request failed to load.
bannerView.AdFailedToLoad += HandleAdFailedToLoad;


// Called when an ad is clicked.
bannerView.AdOpened += HandleAdOpened;


// Called when the user is about to return to the app after an ad click.
bannerView.AdClosing += HandleAdClosing;


// Called when the user returned from the app after an ad click.
bannerView.AdClosed += HandleAdClosed;


// Called when the ad click caused the user to leave the application.
bannerView.AdLeftApplication += HandleAdLeftApplication;
}

public void HandleAdLoaded(object sender, EventArgs args)
{
    print("HandleAdLoaded event received.");
    // Handle the ad loaded event.
}

AdFailedToLoad事件包含特殊的事件參數。該事件會傳遞一個AdFailedToLoadEventArgs實例,此實例具備一個說明錯誤內容的Message。

public void HandleAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
   print("Interstitial Failed to load: " + args.Message);
     // Handle the ad failed to load event.
};

您只需註冊本身感興趣的事件。


五:顯示和隱藏橫幅廣告

默認狀況下,橫幅廣告是可見的。要暫時隱藏橫幅廣告,請調用:

bannerView.Hide();

 

要從新顯示該廣告,請調用:

bannerView.Show();


1:清除橫幅廣告和插頁式廣告

當完成BannerView或InterstitialAd後,請在放棄對其的引用以前調用Destroy()方法。

bannerView.Destroy();


interstitial.Destroy();

這會通知插件應該將此對象做爲垃圾進行收集。不調用此方法將致使內存泄漏。


2:AdMob 中介支持

要使用 Unity 插件執行中介功能,您必須按照中介快速入門指南 (IOS) 中的介紹,爲每一個第三方廣告網絡下載並添加SDK和適配器庫。如下是針對不一樣設備的不一樣操做:


對於IOS,將所需的庫添加到 Xcode 項目中,該項目是您爲IOS構建項目時由 Unity生成的。

 

Unity 是由Unity Technologies開發的一個讓玩家輕鬆建立諸如三維視頻遊戲、建築可視化、實時三維動畫等類型互動內容的多平臺的綜合型遊戲開發 工具,是一個全面整合的專業遊戲引擎。正是覺得Unity能夠把遊戲發佈去Android、IOS、WindowsPhone8等等,因此能夠利用 Unity集成KeyMob IOS平臺。該平臺將整合國內外主流移動廣告平臺,並對廣告功能進行統一管理、動態配置,廣告主和開發者均可以經過簡單的操 做輕鬆實現對多家廣告平臺的搭配使用。

相關文章
相關標籤/搜索