本指南說明如何使用 Google Mobile Ads SDK,透過中介服務載入及顯示 Unity Ads 廣告,也會介紹刊登序列整合作業,內容涵蓋如何將 Unity Ads 加到廣告單元的中介服務設定,以及如何將 Unity Ads SDK 和轉接程式整合至 Flutter 應用程式。
支援的整合功能和廣告格式
Unity Ads 適用的 Ad Manager 中介服務轉接程式具備下列功能:
整合 | |
---|---|
出價 | 1 |
瀑布 | |
格式 | |
橫幅廣告 | |
插頁式 | |
已獲得獎勵 |
1 出價整合功能目前為公開測試版。
需求條件
- 最新版 Google Mobile Ads SDK
- Flutter 3.7.0 以上版本
- [出價]:如要整合出價功能支援的所有廣告格式,請使用 Unity Ads 1.1.0 以上版本的 Google Mobile Ads 中介服務外掛程式 (建議使用最新版本)
- 如要在 Android 上部署
- Android API 級別 23 以上版本
- 如要在 iOS 上部署
- 12.0 以上版本的 iOS 部署目標
- 已設定 Google Mobile Ads SDK 的有效 Flutter 專案。詳情請參閱「開始使用」一文。
- 完成中介服務入門指南的步驟
步驟 1:在 Unity Ads 使用者介面中設定
建立專案
在 Unity Ads 資訊主頁中,前往「Projects」,然後按一下「New」。
填寫表單,然後按一下「建立」即可新增專案。
前往「Unity Ads Monetization」,然後點按「開始使用」。
在「New Project」模式中,選取「I will use Mediation」和「Google AdMob」做為「Mediation Partner」,然後按一下「Next」。
選取廣告設定選項,然後按一下「下一步」。
選取刊登位置設定,然後按一下「下一步」。
出價
瀑布
填寫表單,然後按一下「新增專案」。
記下「遊戲 ID」。
建立廣告單元和刊登位置
依序前往「Unity Ads Monetization」 >「Placements」,然後選取專案並點選「Add ad unit」。
輸入廣告單元名稱,然後選取平台和廣告格式。
Android
iOS
依序前往「營利」 >「刊登位置」,然後點選「新增廣告單元」。
輸入廣告單元名稱,然後選取平台和廣告格式。
Android
iOS
在「設定」中選取「Waterfall」。在「刊登位置」下方,輸入「刊登位置名稱」、「地理位置標記」和「目標」。
記下「刊登位置 ID」。
最後,按一下「新增廣告單元」,儲存廣告單元和刊登位置。
找出 Unity Ads Reporting API 金鑰
出價
整合出價功能不需要執行這個步驟。
瀑布
依序前往「Unity Ads Monetization」 >「API management」,並記下「Monetization Stats API Access」中的「API Key」。
接著,依序前往「Unity Ads Monetization」 >「Organization Settings」, 並記下「Organization core 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」。
如要強制為應用程式啟用測試模式,請點選各個平台的編輯按鈕,啟用「Override client test mode」,然後選取「Force test mode ON (i.e. use test ads) for all devices」。
Android
iOS
或者,您也可以按一下「新增測試裝置」,為特定裝置啟用測試模式。
輸入測試裝置詳細資料,然後按一下「儲存」。
步驟 2:在 Ad Manager 使用者介面設定 Unity Ads 需求
進行廣告單元的中介服務設定
將 Unity Ads 新增至 GDPR 和美國州級法規廣告合作夥伴名單
請按照「歐洲法規設定」和「美國州級法規設定」中的步驟,在 Ad Manager 使用者介面,將 Unity Ads 新增至歐洲和美國州級法規廣告合作夥伴名單。
步驟 3:匯入 Unity Ads SDK 和轉接程式
透過 pub.dev 整合
在套件的 pubspec.yaml
檔案,新增下列依附元件和最新版本的 Unity Ads SDK 與轉接程式:
dependencies:
gma_mediation_unity: ^
手動整合
下載適用於 Unity Ads 的最新版本 Google Mobile Ads 中介服務外掛程式,解壓縮下載的檔案,並將解壓縮的外掛程式資料夾及其內容新增至 Flutter 專案。接著,在 pubspec.yaml
檔案新增下列依附元件,以參照外掛程式:
dependencies:
gma_mediation_unity:
path: path/to/local/package
步驟 4:在 Unity Ads SDK 中導入隱私權設定
歐盟同意聲明和 GDPR
為遵守《Google 歐盟地區使用者同意聲明政策》,您必須向歐洲經濟區、英國和瑞士的使用者揭露特定資訊,並在法律有相關規定時,取得他們對使用 Cookie 或其他本機儲存空間的同意聲明,以及對收集、分享及使用個人資料進行廣告個人化的同意聲明。本政策是配合《歐盟地區電子通訊隱私指令》和《一般資料保護規則》(GDPR) 而制定。您有責任確認中介服務鏈中的每個廣告來源,皆已採用同意聲明機制。Google 無法將使用者的同意聲明選項自動傳遞至這類聯播網。
適用於 Unity Ads 的 Google 行動廣告中介服務外掛程式包含 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 廣告放送作業啟用「受限的資料處理」模式,但 Google 無法將這項設定套用至中介服務鏈的每個廣告聯播網。因此,如果中介服務鏈中有任何廣告聯播網可能銷售個人資訊,請務必個別找出這些聯播網,並遵循各自適用的指引,確保符合相關法規。
適用於 Unity Ads 的 Google 行動廣告中介服務外掛程式包含 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 的說明文件,將 SKAdNetwork ID 新增至專案的 Info.plist
檔案。
步驟 6:測試導入成果
啟用測試廣告
請務必為 Ad Manager 註冊測試裝置,並在 Unity Ads 使用者介面啟用測試模式。
驗證測試廣告
如要確認您是否收到 Unity Ads 的測試廣告,請使用「Unity Ads (出價)」和「Unity Ads (刊登序列)」廣告來源,在廣告檢查器中啟用單一廣告來源測試。
錯誤代碼
如果轉接程式無法從 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 使用者介面中設定的 UnityAds 伺服器參數遺失/無效。 |
102 | UnityAds 傳回的刊登位置處於 NO_FILL 狀態。 |
103 | UnityAds 傳回的刊登位置狀態為 DISABLED。 |
104 | UnityAds 嘗試顯示內容為空值的廣告。 |
105 | 用於從 Unity Ads 初始化、載入及/或顯示廣告的 Context 不是 Activity 執行個體。 |
106 | UnityAds 嘗試顯示尚未準備就緒的廣告。 |
107 | 裝置不支援 UnityAds。 |
108 | UnityAds 一次只能為每個刊登位置載入 1 則廣告。 |
109 | UnityAds 已完成,但處於 ERROR 狀態。 |
200-204 | UnityAds Banner 發生特定錯誤。詳情請參閱「程式碼」一文。 |
iOS
0-9 | UnityAds SDK 傳回錯誤。詳情請參閱 Unity 的說明文件。 |
101 | Ad Manager 使用者介面中設定的 UnityAds 伺服器參數遺失/無效。 |
102 | UnityAds 不支援這部裝置。 |
103 | UnityAds 結束顯示,但發生錯誤 kUnityAdsFinishStateError 。 |
104 | 呼叫初始化程式後,Unity 廣告物件為空值。 |
105 | 廣告尚未準備就緒,因此無法顯示 Unity Ads。 |
107 | UnityAds 呼叫了刊登位置變更回呼,且刊登位置狀態為 kUnityAdsPlacementStateDisabled 。 |
108 | 這個刊登位置已載入廣告。UnityAds SDK 不支援為同一個刊登位置載入多個廣告。 |
109 | UnityAds 傳回的橫幅廣告與要求的尺寸不符。 |
110 | UnityAds 傳回初始化錯誤。 |
111 | 不支援的廣告格式。 |
Unity Ads Flutter 中介服務轉接程式變更記錄
1.6.1 版 (開發中)
1.6.0 版
- 現在最低須使用 iOS 13.0 版。
- 支援 Unity Android 轉接程式 4.16.0.0 版。
- 支援 Unity iOS 轉接程式 4.16.0.0 版。
- 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。
1.5.1 版本
- 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。
1.5.0 版本
- 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。
1.4.1 版本
- 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。
1.4.0 版本
- 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。
1.3.0 版本
- 使用 Google Mobile Ads Flutter 外掛程式 5.3.1 版建構及測試。
1.2.0 版本
- 使用 Google Mobile Ads Flutter 外掛程式 5.3.1 版建構及測試。
1.1.0 版本
- 使用 Google Mobile Ads Flutter 外掛程式 5.2.0 版建構及測試。
1.0.0 版本
- 第 1 版。
- 支援 Unity Android 轉接程式 4.10.0.0 版。
- 支援 Unity iOS 轉接程式 4.10.0.0 版。
- 使用 Google Mobile Ads Flutter 外掛程式 5.0.0 版建構及測試。