本指南說明如何使用 GMA Next-Gen SDK,透過中介服務載入及顯示 Unity Ads 廣告,包括出價和刊登序列整合作業。文中闡述如何將 Unity Ads 新增至廣告單元的中介服務設定,以及如何將 Unity Ads SDK 和轉接程式整合至 Android 應用程式。
支援的整合項目和廣告格式
Unity Ads 中介服務轉接程式具備下列功能:
| 整合 | |
|---|---|
| 出價 | |
| 瀑布 | 1 |
| 格式 | |
| 橫幅廣告 | |
| 插頁式廣告 | |
| 已獲得獎勵 | |
| 原生 | |
需求條件
- Android API 級別 24 以上版本
- [出價]:如要整合出價功能支援的所有廣告格式,請使用 Unity 轉接程式 4.16.0.1 以上版本 (建議採用最新版本)
「GMA Next-Gen SDK」的最新影片
完成中介服務入門指南的步驟
步驟 1:在 Unity Ads 使用者介面完成所需設定
建立專案
在 Unity Ads 資訊主頁中,前往「Projects」,然後按一下「New」。

填寫表單,然後按一下「Create」新增專案。

前往「Unity Ads Monetization」,然後點按「Get started」。

在「New Project」互動視窗,選取「I will use Mediation」,並選擇「Google AdMob」做為中介服務合作夥伴,然後按一下「Next」。

選取廣告設定選項,然後按一下「Next」。

選取刊登位置設定,然後按一下「Next」。
出價

刊登序列

填寫表單,然後按一下「Add project」。

記下遊戲 ID。

建立廣告單元和刊登位置
依序前往「Unity Ads Monetization」 >「Placements」,然後選取專案並點按「Add ad unit」。

輸入廣告單元名稱,然後選取平台和廣告格式。

依序前往「Monetization」 >「Placements」,然後點選「Add Ad Unit」。

輸入廣告單元名稱,然後選取平台和廣告格式。

在「Setup」底下選取「Waterfall」。在「Placement」下方,輸入刊登位置名稱、地理標記和目標。

記下刊登位置 ID。
最後,按一下「Add ad unit」,儲存廣告單元和刊登位置。
找出 Unity Ads Reporting API 金鑰
出價
整合出價功能時不需要執行這個步驟。
刊登序列
依序前往「Unity Ads Monetization」 >「API management」,並記下「Monetization Stats API Access」中的 API 金鑰。

接著,前往「Unity Ads Monetization」 >「Organization Settings」, 並記下組織核心 ID。

更新 app-ads.txt
Authorized Sellers for Apps (app-ads.txt) 是美國互動廣告協會科技實驗室 (IAB Tech Lab) 的一項計畫,旨在確保您的應用程式廣告空間僅於您授權的管道出售。為避免廣告收益大幅減少,請務必導入 app-ads.txt 檔案。
如果尚未建立,請為 Ad Manager 建立 app-ads.txt 檔案。
如要為 Unity Ads 導入 app-ads.txt,請參閱「首次設定 app-ads.txt」一文。
開啟測試模式
您可以在 Unity Ads 資訊主頁啟用測試模式。依序前往「Unity Ads Monetization」 >「Testing」。
如要強制為應用程式啟用測試模式,請點選「Google Play 商店」旁的編輯按鈕,啟用「Override client test mode」,然後選取「Force test mode ON (i.e. use test ads) for all devices」。

或者,您也可以按一下「Add Test Device」,為特定裝置啟用測試模式。

輸入測試裝置詳細資料,然後按一下「Save」。

步驟 2:在 Ad Manager 使用者介面設定 Unity Ads 需求
登入 Ad Manager 帳戶。
在「公司」中新增 Unity Ads
出價
整合出價功能時不需要執行這個步驟。
刊登序列
依序前往「管理」>「公司」,然後按一下「所有公司」分頁中的「新增公司」按鈕,選取「廣告聯播網」。

將「廣告聯播網」設為「Unity Ads」,輸入專屬「名稱」,並啟用「中介服務」。 開啟「自動收集資料」,然後輸入在上一個部分取得的「API 金鑰」和「機構核心 ID」。
不需要輸入「使用者名稱」或「密碼」。完成後請點選「儲存」。

啟用安全信號共用
出價
依序前往「管理」>「通用設定」。前往「Ad Exchange 帳戶設定」分頁,查看並開啟「安全信號共用」。按一下「儲存」。

刊登序列
刊登序列整合功能不需要執行這個步驟。
透過出價要求共用安全信號
出價
依序前往「廣告空間」>「安全信號」。在「安全信號」下方,搜尋「Unity Ads」,然後開啟「啟用應用程式整合」。

按一下 [儲存]。
刊登序列
刊登序列整合功能不需要執行這個步驟。
允許 SDK 出價共用安全信號
出價
依序前往「廣告放送」>「需求管道設定」。在「預設設定」分頁中,為「SDK 出價」開啟「允許安全信號共用」。

按一下「儲存」。
刊登序列
刊登序列整合功能不需要執行這個步驟。
設定 Unity Ads 出價
出價
依序前往「廣告放送」>「出價方」,然後按一下「前往 SDK 出價」。

按一下「新增出價方」。

選取「Unity Ads」做為出價方。

按一下「繼續」,即可為這個出價方啟用 SDK 出價。

按一下「完成」。
刊登序列
刊登序列整合功能不需要執行這個步驟。
設定廣告單元對應
出價
依序前往「廣告放送」>「出價方」,然後按一下「前往 SDK 出價」。

選取 Unity Ads 的公司。

前往「廣告單元對應」分頁,然後按一下「新增廣告單元對應」。

選擇「特定廣告單元」。選取廣告單元和格式,並將「廣告空間類型」設為「行動應用程式」。接著選取「行動應用程式」,然後輸入在上一個部分取得的「遊戲 ID」和「刊登位置 ID」。最後按一下「儲存」。

瀑布
依序前往「廣告放送」>「收益群組」,然後按一下「新增收益群組」按鈕,選取「行動應用程式」。

向下捲動並按一下「新增收益夥伴」。

選取您先前為 Unity Ads 建立的公司。將「整合類型」設為「Mobile SDK 中介服務」、「平台」設為「Android」,並將「狀態」設為「有效」。
輸入在上一個部分取得的「遊戲 ID」和「刊登位置 ID」,以及「預設千次曝光出價」的值。按一下「儲存」。

注意:自動資料收集功能需要幾天的時間來收集資料,才能準確計算中介服務聯播網的動態千次曝光出價。計算完畢後,系統就會代您自動更新有效千次曝光出價。
將 Unity Ads 新增至符合 GDPR 和美國州級法規的廣告合作夥伴名單
請按照「歐洲法規設定」和「美國州級法規設定」中的步驟,在 Ad Manager 使用者介面,將 Unity Ads 新增至符合歐洲和美國州級法規的廣告合作夥伴名單。
步驟 3:匯入 Unity Ads SDK 和轉接程式
整合 Android Studio (建議)
在應用程式層級的 Gradle 檔案中,新增下列導入依附元件和設定:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02") implementation("com.unity3d.ads:unity-ads:4.16.5") implementation("com.google.ads.mediation:unity:4.16.6.0") } configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02' implementation 'com.unity3d.ads:unity-ads:4.16.5' implementation 'com.google.ads.mediation:unity:4.16.6.0' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手動整合
從 GitHub 存放區下載最新版 Unity Ads SDK (
unity-ads.aar),並加入專案。前往 Google 的 Maven 存放區,找到 Unity Ads 轉接程式構件。選取最新版本,下載 Unity Ads 轉接程式的
.aar檔案並新增至專案。
步驟 4:在 Unity Ads SDK 導入隱私權設定
歐盟地區同意授權和 GDPR
為遵守《Google 歐盟地區使用者同意授權政策》,您必須向歐洲經濟區 (EEA)、英國和瑞士境內的使用者揭露特定資訊,並依法徵得使用者同意,才能使用 Cookie 或其他本機儲存空間,或針對廣告個人化用途收集、分享及使用個人資料。本政策是配合《歐盟地區電子通訊隱私指令》和《一般資料保護規則》(GDPR) 而制定。您有責任確認中介服務鏈中的每個廣告來源,皆已採用同意聲明機制。Google 無法將使用者的同意聲明選項自動傳遞至這類聯播網。
在 SDK 2.0.0 版中,Unity Ads 新增了支援隱私權設定的 API。請見以下程式碼範例,瞭解如何將同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇手動將同意聲明資訊傳遞至 Unity Ads SDK,建議先呼叫這段程式碼,再透過 GMA Next-Gen SDK 請求廣告。
Java
MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();
Kotlin
val gdprMetaData = MetaData(this)
gdprMetaData["gdpr.consent"] = true
gdprMetaData.commit()
如需更多詳細資料及各方法可使用的值,請參閱 Unity Ads 的「GDPR 規範遵循」。
美國州級隱私權法律
美國州級隱私權法規定,使用者有權選擇拒絕「販售」其「個人資訊」(「販售」與「個人資訊」的定義請見法律規定),且「賣方」必須在首頁上清楚顯示「請勿販售我的個人資訊」連結,供使用者點選。根據美國州級隱私權法律的法規遵循指南,您可以對 Google 廣告放送作業啟用「受限的資料處理」模式,但 Google 無法將這項設定套用至中介服務鏈的每個廣告聯播網。因此,如果中介服務鏈中有任何廣告聯播網可能販售個人資訊,請務必找出所有這類聯播網,並遵循各自適用的指引,確保符合相關法規。
在 SDK 2.0.0 版中,Unity Ads 新增了支援隱私權設定的 API。請見以下程式碼範例,瞭解如何將同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇手動將同意聲明資訊傳遞至 Unity Ads SDK,建議先呼叫這段程式碼,再透過 GMA Next-Gen SDK 請求廣告。
Java
MetaData ccpaMetaData = new MetaData(this);
ccpaMetaData.set("privacy.consent", true);
ccpaMetaData.commit();
Kotlin
val ccpaMetaData = MetaData(this)
ccpaMetaData["privacy.consent"] = true
ccpaMetaData.commit()
如需更多詳細資料及各方法可使用的值,請參閱 Unity Ads 的「遵守《消費者隱私權法案》規定」。
步驟 5:新增必要程式碼
使用 Activity 內容載入廣告
載入橫幅、插頁式和原生廣告格式時,請傳遞 Activity 環境。
如果沒有活動內容,廣告載入就會失敗。
步驟 6:測試導入成果
啟用測試廣告
請務必為 Ad Manager 註冊測試裝置,並在 Unity Ads 使用者介面啟用測試模式。
驗證測試廣告
如要確認您是否收到 Unity Ads 的測試廣告,請使用「Unity Ads (出價)」和「Unity Ads (刊登序列)」廣告來源,在廣告檢查器中啟用單一廣告來源測試。
錯誤代碼
如果轉接程式無法從 Unity Ads 接收廣告,發布商可以使用下列類別的 ResponseInfo.getAdSourceResponses(),在廣告回應中檢查問題背後的錯誤:
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
以下是廣告無法載入時,UnityAds 轉接程式擲回的代碼和隨附訊息:
| 錯誤代碼 | 原因 |
|---|---|
| 0-10 | UnityAds SDK 傳回錯誤。詳情請參閱程式碼。 |
| 101 | Ad Manager 使用者介面中設定的 UnityAds 伺服器參數遺失/無效。 |
| 102 | UnityAds 傳回的刊登位置狀態為 NO_FILL。 |
| 103 | UnityAds 傳回的刊登位置狀態為「已停用」。 |
| 104 | UnityAds 嘗試顯示廣告,但執行情境為空值。 |
| 105 | 用於從 Unity Ads 初始化、載入及/或顯示廣告的 Context 不是 Activity 執行個體。 |
| 106 | UnityAds 嘗試顯示尚未準備就緒的廣告。 |
| 107 | 裝置不支援 UnityAds。 |
| 108 | UnityAds 每次只能為每個刊登位置載入 1 則廣告。 |
| 109 | UnityAds 未完成,狀態為「發生錯誤」。 |
| 200-204 | UnityAds Banner 發生特定錯誤。詳情請參閱程式碼。 |