本指南說明如何使用 Google Mobile Ads SDK 透過中介服務載入並顯示 Unity Ads 廣告,並涵蓋瀑布流整合。說明如何將 Unity 廣告 以及如何將 Unity 廣告 SDK 和轉接程式整合到 Flutter 應用程式。
支援的整合項目和廣告格式
Unity 廣告 AdMob 的中介服務轉接程式具有 下列功能:
整合 | |
---|---|
出價 | 1 |
瀑布 | |
格式 | |
橫幅廣告 | |
插頁式 | |
已獲得獎勵 |
1 出價整合功能已關閉 Beta 版,請聯絡您的客戶經理,要求存取權。
需求條件
- 最新版 Google Mobile Ads SDK
- Flutter 3.7.0 以上版本
- 如何在 Android 上部署
- Android API 級別 21 以上
- 如何在 iOS 上部署應用程式
- iOS 部署目標為 12.0 以上版本
- 已設定 Google Mobile Ads SDK 的 Flutter 可運作專案。詳情請參閱「開始使用」一文。
- 完成中介服務入門指南
步驟 1:在 Unity Ads UI 中進行設定
註冊或登入 Unity Ads。
建立專案
在 Unity Ads 資訊主頁中,前往「Projects」,然後按一下「Create Project」。
填寫表單,然後按一下「Create Project」新增專案。
依序前往「營利」>「開始使用」,然後點選「開始使用」。
在「專案設定」互動視窗中,依序選取「我打算使用中介服務」和「Google」 適用於中介服務合作夥伴的 AdMob,然後點選下一步。
選取廣告設定,然後按一下「下一步」。
填寫表單,然後按一下「Add Project」。
記下遊戲 ID。
建立廣告單元
依序前往「營利」>「廣告單元」,然後按一下「新增廣告單元」。
輸入廣告單元名稱,然後選取平台和廣告格式。
Android
iOS
最後,按一下 [建立] 即可儲存廣告單元。
新增刊登位置
出價
如要建立出價刊登位置,請與您的 Google 客戶經理聯絡。
瀑布
專案建立完成後,前往「營利」>刊登位置:目的地: 新建刊登位置,然後按一下廣告單元的 [新增刊登位置]。
填寫必要的詳細資料,然後按一下「新增刊登位置」。
記下刊登位置 ID。
Android
iOS
找出 Unity Ads Reporting API 金鑰
出價
出價整合不必執行這個步驟。
瀑布
除了 遊戲 ID 和 刊登位置 ID 之外,您還需要 Unity Ads API 金鑰和 機構組織核心 ID,才能設定 AdMob 廣告單元 ID。
依序前往「營利」>「設定」>「API 管理」,並記下「營利統計資料 API 存取金鑰」。
然後前往「營利」>機構設定並記下相關事項 機構核心 ID 欄位。
開啟測試模式
您可以透過 Unity Ads 資訊主頁啟用測試模式。專案的 設定後,選取「測試」分頁標籤。
如要強制測試應用程式模式,請點選相應的編輯按鈕 平台,勾選「覆寫用戶端測試模式」,然後選取 針對所有裝置強制啟用測試模式 (例如使用測試廣告)。
Android
iOS
或者,您也可以按一下「新增測試裝置」按鈕,為特定裝置啟用測試模式。
填寫表單,然後按一下「儲存」。
步驟 2:在使用者介面中設定 Unity 廣告需求 AdMob
調整廣告單元中介服務設定
將 Unity Ads 新增至 GDPR 和美國州級法規廣告合作夥伴清單
步驟 3:匯入 Unity Ads SDK 和轉接程式
透過 pub.dev 整合
在套件的 pubspec.yaml
檔案中,新增下列依附元件,其中包含最新版本的Unity Ads SDK 和轉接器:
dependencies:
gma_mediation_unity: ^1.0.0
手動整合
下載適用於 Unity Ads 的最新版 Google 行動廣告中介服務外掛程式,解壓縮下載的檔案,然後將解壓縮的插件資料夾 (及其內容) 新增至您的 Flutter 專案。然後,在
pubspec.yaml
檔案,請新增下列依附元件:
dependencies:
gma_mediation_unity:
path: path/to/local/package
步驟 4:在 Unity Ads SDK 中導入隱私權設定
歐盟地區同意授權和 GDPR
根據 Google 的《歐盟地區使用者同意授權政策》,您必須確保向歐洲經濟區 (EEA) 境內的使用者揭露特定資訊,並徵得使用者同意聲明,才能使用裝置 ID 和個人資料。本政策是配合《歐盟電子通訊隱私指令》和《一般資料保護規則》(GDPR) 的法規而制定。在徵求同意聲明時,您必須指出中介服務鏈中可能會收集、接收或使用個人資料的每個廣告聯播網,並提供每個聯播網的使用方式相關資訊。Google 目前無法自動將使用者的同意聲明選項傳送至這些網路。
適用於 Unity Ads 的 Google 行動廣告中介服務外掛程式的 3.3.0 版包含GmaMediationUnity.setGDPRConsent()
方法。以下程式碼範例說明如何將同意聲明資訊傳送至
Unity Ads SDK 整合。如果選擇呼叫這個方法,建議您
以便透過 Google Mobile Ads SDK 請求廣告。
import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...
GmaMediationUnity.setGDPRConsent(true);
請參閱 Unity Ads 隱私權同意聲明和資料 API 和 遵守 GDPR 指南,進一步瞭解各個方法中可包含的值。
美國州級隱私權法律
美國州級隱私權法律 規定使用者有權選擇拒絕「販售」自己的「個人資訊」(如該法案對「販售」一詞的定義),且「賣方」必須在首頁上提供顯眼的「不要販售我的個人資訊」連結,供使用者選擇拒絕。 美國州級隱私權 法規遵循指南可讓您 受限的資料處理 此設定不適用於每則廣告,但 Google 無法將這項設定套用至每則廣告 中介服務鏈中的聯播網因此,您必須找出中介服務鏈中可能參與個人資訊銷售的每個廣告聯播網,並遵循各個廣告聯播網的指示,確保符合規定。
適用於 Unity Ads 的 Google 行動廣告中介服務外掛程式的 3.3.0 版包含GmaMediationUnity.setCCPAConsent()
方法。以下程式碼範例說明如何將同意聲明資訊傳送至
Unity Ads SDK 整合。如果您選擇呼叫這個方法,建議您在透過 Google Mobile Ads SDK 要求廣告之前先呼叫這個方法。
import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...
GmaMediationUnity.setCCPAConsent(true);
步驟 5:新增必要的程式碼
Android
Unity Ads Android 整合作業不需要額外程式碼。
iOS
SKAdNetwork 整合
追蹤 Unity Ads說明文件
在專案的 Info.plist
檔案中新增 SKAdNetwork ID。
步驟 6:測試實作成果
啟用測試廣告
請務必為AdMob 註冊測試裝置,並在 Unity Ads 使用者介面中啟用測試模式。
驗證測試廣告
如要確認您正在接收來自Unity Ads的測試廣告,請使用 Unity Ads (Waterfall) 廣告來源在廣告檢查器中啟用單一廣告來源測試。
錯誤代碼
如果轉接程式無法接收來自 Unity Ads 的廣告,發布商可以查看
判斷錯誤的原因
位於「ResponseInfo
」
類別:
Android
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
iOS
GADMAdapterUnity
GADMediationAdapterUnity
以下是 UnityAds 轉接程式在 如果發生以下情形,則代表廣告無法載入:
Android
錯誤代碼 | 原因 |
---|---|
0-10 | UnityAds SDK 傳回錯誤。請參閱程式碼 ,掌握更多詳細資訊。 |
101 | 在 AdMob UI 中設定的 UnityAds 伺服器參數遺失或無效。 |
102 | UnityAds 傳回了 NO_FILL 狀態的刊登位置。 |
103 | UnityAds 傳回處於「已停用」狀態的刊登位置。 |
104 | UnityAds 嘗試顯示結構定義為空值的廣告。 |
105 | 用於初始化、載入和/或顯示 Unity Ads 廣告的結構定義並非活動例項。 |
106 | UnityAds 嘗試顯示還無法放送的廣告。 |
107 | 裝置不支援 UnityAds。 |
108 | UnityAds 一次只能在每個刊登位置載入 1 則廣告。 |
109 | UnityAds 以 ERROR 狀態完成。 |
200-204 | UnityAds 橫幅有特定錯誤。詳情請參閱「code」。 |
iOS
0-9 | UnityAds SDK 傳回錯誤。請參閱 Unity 的說明文件 ,掌握更多詳細資訊。 |
101 | 在 AdMob UI 中設定的 UnityAds 伺服器參數遺失或無效。 |
102 | UnityAds 不支援的裝置。 |
103 | UnityAds 完成顯示作業,錯誤狀態為 kUnityAdsFinishStateError。 |
104 | Unity 廣告物件在呼叫其初始化器後為 nil。 |
105 | 廣告尚未就緒,因此無法顯示 Unity 廣告。 |
106 | UnityAds 呼叫了刊登位置,但位置狀態是 kUnityAds PlacementStateNoFill。 |
107 | UnityAds 呼叫了含有刊登位置狀態 kUnityAdsPlacementStateDisabled 的刊登位置變更回呼。 |
108 | 這個刊登位置已載入廣告。UnityAds SDK 不支援為同一個刊登位置載入多個廣告。 |
Unity 廣告 Flutter 中介服務轉接程式變更記錄
1.1.0 版本
- 已驗證與 Unity Android 轉接程式版本 4.12.2.0 的相容性
- 已確認與 Unity iOS 轉接器 4.12.2.0 相容
- 使用 Google 行動廣告 Flutter 外掛程式 5.1.0 版建立和測試。
1.0.0 版本
- 第 1 版。
- 已確認與 Unity Android 轉接器 4.10.0.0 的相容性
- 已驗證與 Unity iOS 轉接程式版本 4.10.0.0 的相容性
- 使用 Google 行動廣告 Flutter 外掛程式 5.0.0 版進行建構及測試。