本指南適用於希望透過 Unity 應用程式營利的發布商。
在這個階段,我們將 Google 行動廣告 Unity 外掛程式整合到應用程式中,也就是先顯示 AdMob 廣告並賺取收益的第一步。整合完成後,您可以選擇廣告格式 (例如原生或獎勵影片),以取得詳細的導入步驟。
必要條件
- 使用 Unity 2019 以上版本
- 如要部署至 iOS
- Xcode 14.1 以上版本
- 指定 iOS 11.0 以上版本
- CocoaPods
- 部署至 Android
- Google Play 服務 18.1.0 以上版本
- 指定 Android API 級別 16 以上版本
- 建議:建立 AdMob 帳戶,並註冊 Android 和/或 iOS 應用程式
下載行動廣告 Unity 外掛程式
Google 行動廣告 Unity 外掛程式可讓 Unity 開發人員在 Android 和 iOS 應用程式中輕鬆放送 Google 行動廣告,而不必編寫 Java 或 Objective-C 程式碼。這個外掛程式提供 C# 介面,用於要求 Unity 專案中 C# 指令碼所用的廣告。
請使用下方連結下載外掛程式的 Unity 套件,或前往 GitHub 查看其程式碼。
匯入行動廣告 Unity 外掛程式
在 Unity 編輯器中開啟專案。依序選取「Asset」>「Import Package」>「Custom Package」,然後找到下載的 GoogleMobileAdsPlugin.unitypackage
檔案。
確認已選取所有檔案,然後按一下「匯入」。
加入 Mobile Ads SDK
Google 行動廣告 Unity 外掛程式隨 Unity Play 服務解析器程式庫發布。這個程式庫適用於需要存取 Android 專用程式庫的 Unity 外掛程式 (例如AAR) 或 iOS CocoaPods。它可讓 Unity 外掛程式宣告依附元件,然後自動解析並複製到 Unity 專案。
請按照下列步驟操作,確保專案包含 Mobile Ads SDK。
Android
在 Unity 編輯器中,依序選取「Assets」(資產) >「External Dependency Manager」(外部依附元件管理員) >「AndroidResolver」(Android 解析器) >「Resolve」(解決)。Unity External Dependency Manager 程式庫會將所宣告的依附元件複製到 Unity 應用程式的 Assets/Plugins/Android
目錄。
iOS
將其他行動廣告 SDK 加入 Unity 專案內,無須採取額外步驟。
- 使用 Unity 5.6 以上版本時,系統會產生 Xcworkspace,其中包含必要的依附元件程式庫。請使用產生的 xcworkspace 而非標準 Xcode 專案。
- 使用舊版 Unity 時,依附元件會納入標準 Xcode 專案中。
設定 AdMob 應用程式 ID
在 Unity 編輯器中,從選單中依序選取「Assets」>「Google Mobile Ads」>「Settings」。
在各個欄位中輸入 Android 和 iOS AdMob 應用程式 ID。
在 Unity 主執行緒上啟動廣告事件
Google Mobile Ads SDK 有時會在 Unity 主執行緒以外的其他執行緒上引發事件。這可能會導致從 Google Mobile Ads SDK 分派的事件與 Unity 物件互動。為解決這個問題,您可能需要新增程式碼來同步處理 Mobile Ads SDK 事件與 Unity 主執行緒。
如要讓 Mobile Ads SDK 為您處理此執行緒問題,請將 MobileAds.RaiseAdEventsOnUnityMainThread
設為 true
。這樣會強制 Mobile Ads SDK 在 Unity 主要執行緒上啟動所有事件和回呼。
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// When true all events raised by GoogleMobileAds will be raised
// on the Unity main thread. The default value is false.
MobileAds.RaiseAdEventsOnUnityMainThread = true;
}
}
初始化 Mobile Ads SDK
載入廣告之前,請先呼叫 MobileAds.Initialize()
,讓應用程式初始化 Mobile Ads SDK。這項操作只需執行一次,最好是應用程式啟動時。
以下範例說明如何在附加至 GameObject
的指令碼的 Start()
方法中呼叫 Initialize()
:
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(initStatus => { });
}
}
如果您使用的是中介服務,請等到回呼載入後再載入廣告,以確保所有中介服務轉接程式已初始化。
選取廣告格式
部署至 Android 或 iOS 平台時,Unity 應用程式現已納入 Mobile Ads SDK。您現在可以導入廣告。AdMob 提供多種廣告格式,可讓您選擇最適合使用者體驗的廣告格式。
橫幅
橫幅廣告是會覆蓋在應用程式版面配置內特定位置的矩形圖片或文字廣告。當使用者與應用程式互動時,這類畫面會持續顯示,並在特定時間後自動重新整理。如果你是第一次放送行動廣告,建議先從這些地方著手。
插頁式
插頁式廣告是全螢幕廣告,會覆蓋應用程式介面,直到使用者關閉為止。這類函式最適合在應用程式執行作業的自然暫停時使用,例如在遊戲關卡和完成工作之間。
原生
原生廣告是一種以元件為基礎的廣告格式,可讓您自由自訂素材資源 (例如廣告標題和行動號召) 在應用程式中的顯示方式。您可以自行選擇字型、顏色和其他詳細資料,打造不會幹擾使用者的豐富廣告呈現,從而帶來豐富的使用者體驗。
已獲得獎勵
獎勵影片廣告是一種全螢幕的影片廣告,使用者可以選擇以觀看完整換氣的方式換取應用程式內獎勵。
要求應用程式追蹤透明度授權
如要顯示存取廣告識別碼的應用程式追蹤透明度 (ATT) 授權要求,請使用 Unity 的 iOS 14 廣告支援套件。
相同應用程式金鑰
必備條件:Google 行動廣告 Unity 外掛程式 6.1.0 以上版本
Google Mobile Ads SDK 導入相同應用程式金鑰,可透過使用者使用的應用程式收集資料,協助放送關聯性更高的個人化廣告。
相同應用程式金鑰預設為啟用,但您可以使用下列 API 停用該金鑰:
public void Start() { RequestConfiguration requestConfiguration = new RequestConfiguration.Builder() .SetSameAppKeyEnabled(true).build(); MobileAds.SetRequestConfiguration(requestConfiguration); // Initialize the Google Mobile Ads SDK. MobileAds.Initialize(HandleInitCompleteAction); }