將 Unity 廣告與中介服務整合

本指南說明如何使用 Google Mobile Ads Flutter Plugin,透過中介服務載入及顯示 Unity Ads 廣告,也會介紹如何整合出價和刊登序列功能。內容涵蓋如何將 Unity Ads 新增至廣告單元的中介服務設定,以及如何將 Unity Ads SDK 和轉接程式整合至 Flutter 應用程式。

支援的整合項目和廣告格式

Unity Ads 的 AdMob 中介服務轉接程式具備下列功能:

整合
出價
瀑布  1
格式
橫幅廣告
插頁式廣告
已獲得獎勵

需求條件

  • 最新 Google Mobile Ads Flutter Plugin
  • Flutter 3.7.0 以上版本
  • [出價]:如要整合出價功能支援的所有廣告格式,請使用 Unity Ads 1.1.0 以上版本的 Google Mobile Ads 中介服務外掛程式 (建議使用最新版本)
  • 如要在 Android 上部署
    • Android API 級別 23 以上
  • 如要在 iOS 上部署
    • 部署目標為 iOS 13.0 以上版本
  • 已設定 Google Mobile Ads Flutter Plugin 的有效 Flutter 專案。詳情請參閱「設定 Google Mobile Ads Flutter Plugin」。
  • 設定 AdMob 中介服務。

步驟 1:在 Unity Ads 使用者介面完成所需設定

註冊或登入 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」。

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

Android

iOS

出價

在「設定」底下選取「出價」。在「Placement」下方,輸入刊登位置名稱。

記下刊登位置 ID。

瀑布

在「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 檔案。 如果還未設定應用程式的 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

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

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

步驟 2:在 AdMob 使用者介面設定 Unity Ads 需求

進行廣告單元的中介服務設定

Android

如需操作說明,請參閱 Android 指南中的步驟 2。

iOS

如需操作說明,請參閱 iOS 指南中的步驟 2。

將 Unity Ads 新增至符合 GDPR 和美國州級法規的廣告合作夥伴名單

請按照「歐洲法規設定」和「美國州級法規設定」中的步驟,在 AdMob 使用者介面,將 Unity Ads 新增至符合歐洲和美國州級法規的廣告合作夥伴名單。

步驟 3:匯入 Unity Ads SDK 和轉接程式

透過 pub.dev 整合

在套件的 pubspec.yaml 檔案,新增下列依附元件和最新版本的 Unity Ads SDK 與轉接程式:

dependencies:
  gma_mediation_unity: ^1.8.1

手動整合

下載適用於 Unity Ads 的最新版 Google Mobile Ads 中介服務外掛程式,解壓縮下載的檔案,並將解壓縮的外掛程式資料夾及其內容新增至 Flutter 專案。接著,在 pubspec.yaml 檔案新增下列依附元件,以參照外掛程式:

dependencies:
  gma_mediation_unity:
    path: path/to/local/package

步驟 4:在 Unity Ads SDK 導入隱私權設定

為遵守《Google 歐盟地區使用者同意授權政策》,您必須向歐洲經濟區 (EEA)、英國和瑞士境內的使用者揭露特定資訊,並依法徵得使用者同意,才能使用 Cookie 或其他本機儲存空間,或針對廣告個人化用途收集、分享及使用個人資料。本政策是配合《歐盟地區電子通訊隱私指令》和《一般資料保護規則》(GDPR) 而制定。您有責任確認中介服務鏈中的每個廣告來源,皆已採用同意聲明機制。Google 無法將使用者的同意聲明選項自動傳遞至這類聯播網。

適用於 Unity Ads 的 Google Mobile Ads 中介服務外掛程式包含 GmaMediationUnity.setGDPRConsent() 方法。以下程式碼範例說明如何將同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇呼叫這個方法,建議先呼叫再透過 Google Mobile Ads Flutter Plugin 請求廣告。

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setGDPRConsent(true);

如需更多詳細資料及各方法可使用的值,請參閱 Unity Ads 的「隱私權同意聲明和資料 API」和「遵守《消費者隱私權法案》規定」指南。

美國州級隱私權法律

美國州級隱私權法規定,使用者有權選擇拒絕「販售」其「個人資訊」(「販售」與「個人資訊」的定義請見法律規定),且「賣方」必須在首頁上清楚顯示「請勿販售我的個人資訊」連結,供使用者點選。根據美國州級隱私權法律的法規遵循指南,您可以對 Google 廣告放送作業啟用「受限的資料處理」模式,但 Google 無法將這項設定套用至中介服務鏈的每個廣告聯播網。因此,如果中介服務鏈中有任何廣告聯播網可能販售個人資訊,請務必找出所有這類聯播網,並遵循各自適用的指引,確保符合相關法規。

適用於 Unity Ads 的 Google Mobile Ads 中介服務外掛程式包含 GmaMediationUnity.setCCPAConsent() 方法。以下程式碼範例說明如何將同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇呼叫這個方法,建議先呼叫再透過 Google Mobile Ads Flutter Plugin 請求廣告。

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setCCPAConsent(true);

設定年齡處理方式

Unity Ads 中介服務外掛程式 1.6.5 以上版本會將兒童導向設定和未滿規定年齡使用者設定轉送至 Unity Ads。

如要根據個別使用者處理這些信號,您必須在 Unity Monetization 資訊主頁中啟用「混合式目標對象」指定。如要進一步瞭解如何為專案啟用混合觀眾指定,請參閱「設定遊戲層級的年齡指定」。

步驟 5:新增必要程式碼

Android

整合 Unity Ads 與 Android 應用程式不需要額外程式碼。

iOS

整合 SKAdNetwork

請按照 Unity Ads 的說明文件,將 SKAdNetwork ID 新增至專案的 Info.plist 檔案。

步驟 6:測試導入成果

啟用測試廣告

請務必註冊 AdMob 測試裝置,並在 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 傳回的刊登位置處於「已停用」狀態。
104 UnityAds 嘗試顯示內容為空值的廣告。
105 用於從 Unity Ads 初始化、載入及/或顯示廣告的 Context 不是 Activity 執行個體。
106 UnityAds 嘗試顯示尚未準備就緒的廣告。
107 裝置不支援 UnityAds。
108 UnityAds 一次只能為每個刊登位置載入 1 則廣告。
109 UnityAds 未完成,狀態為「發生錯誤」。
200-204 UnityAds Banner 發生特定錯誤。詳情請參閱程式碼。

iOS

0-9 UnityAds SDK 傳回錯誤。詳情請參閱 Unity 的說明文件。
101 AdMob 使用者介面中設定的 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.8.1 版

1.8.0 版

1.7.0 版

1.6.5 版

  • 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。

1.6.4 版

1.6.3 版

  • 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。

1.6.2 版

  • 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。

1.6.1 版

  • 使用 Google Mobile Ads Flutter 外掛程式 6.0.0 版建構及測試。

1.6.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 版

  • 使用 Google Mobile Ads Flutter 外掛程式 5.0.0 版建構及測試。