整合 InMobi 與中介服務

本指南說明如何使用 GMA Next-Gen SDK,透過 AdMob 中介服務載入及顯示 InMobi 廣告,內容涵蓋刊登序列和出價整合。文中闡述如何將 InMobi 新增至廣告單元的中介服務設定,以及如何將 InMobi SDK 和轉接程式整合至 Android 應用程式。

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

InMobi 中介服務轉接程式具備下列功能:

整合
出價
刊登序列
格式
橫幅廣告
插頁式廣告
已獲得獎勵
原生

需求條件

  • Android API 級別 24 以上版本
  • [出價]:如要整合出價功能支援的所有廣告格式,請使用 InMobi 轉接程式 10.6.3.0 以上版本 (建議採用最新版本)
  • GMA Next-Gen SDK」的最新影片

  • 完成中介服務入門指南的步驟

步驟 1:在 InMobi 使用者介面中設定

註冊 InMobi 帳戶。

帳戶驗證完畢後,請登入

新增應用程式

如要新增應用程式至 InMobi 資訊主頁,請依序點選「Inventory」>「Inventory Settings」

按一下「Add Inventory」,然後從下拉式選單選取「Mobile App」管道。

在搜尋列輸入已發布的應用程式商店網址,從自動填入的結果中選取應用程式,按一下「Continue」(繼續)

如果應用程式尚未發布,請按一下「Link manually」,輸入必要詳細資料,按一下「Continue」(繼續)

檢查「應用程式和網站法規遵循」設定,然後按一下「儲存並建立刊登位置」

刊登位置

設定完廣告空間後,系統會將您重新導向建立刊登位置的工作流程。

出價

選取廣告單元類型,然後輸入刊登位置名稱,將「Audience Bidding」和「Partner」分別設為「On」和「Google Open Bidding」,並填寫表單的其餘部分。完成後,按一下「建立刊登位置」

瀑布

選取廣告單元類型,然後輸入刊登位置名稱,將「Audience Bidding」設為「Off」,並填寫表單的其餘部分。完成後,按一下「Create Placement」

刊登位置建立完成後,系統會顯示詳細資料。請記下刊登位置 ID,之後會用於設定 AdMob 廣告單元。

帳戶 ID

InMobi 帳戶 ID 位於「Finance」>「Payment Settings」>「Payment Information」下方。

找出 InMobi Reporting API 金鑰

出價

整合出價功能時不需要執行這個步驟。

瀑布

依序找到「My Account」>「Account Settings」。前往「API Key」分頁,然後點按「Generate API Key」

選取需要金鑰的使用者電子郵件,接著按一下「Generate API Key」。系統會產生含有 API 金鑰和使用者名稱/登入名稱的檔案。

只有帳戶的發布商管理員可以為所有使用者產生 API 金鑰。如果忘記先前產生的 API 金鑰,請將滑鼠游標懸停在「API Key」分頁的郵件上,即可重設 API 金鑰。

更新 app-ads.txt

Authorized Sellers for Apps (app-ads.txt) 是美國互動廣告協會科技實驗室 (IAB Tech Lab) 的一項計畫,旨在確保您的應用程式廣告空間僅於您授權的管道出售。為避免廣告收益大幅減少,請務必導入 app-ads.txt 檔案。 如果尚未設定應用程式的 app-ads.txt 檔案,請先完成相關作業。

如要為 InMobi 導入 app-ads.txt,請新增個人化程式碼片段

開啟測試模式

針對所有即時曝光或特定測試裝置,為刊登位置啟用「Test Mode」

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

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

您需要將 InMobi 加到廣告單元的中介服務設定。

請先登入 AdMob 帳戶,接著前往「中介服務」分頁。如要修改現有的中介服務群組,請點按該群組的名稱開始編輯,然後跳至「新增 InMobi 廣告來源」一節。

如要建立新的中介服務群組,請選取「建立中介服務群組」

輸入廣告格式和平台,然後按一下「繼續」

輸入中介服務群組名稱,然後選取指定地區。接下來,將中介服務群組狀態設為「已啟用」,然後點按「加入廣告單元」

將這個中介服務群組與現有的一或多個 AdMob 廣告單元建立關聯,接著點選「完成」。

現在可看到廣告單元資訊卡,且已填入您選取的廣告單元:

新增 InMobi 廣告來源

出價


在「廣告來源」部分的「出價」資訊卡下方,選取「新增廣告來源」,然後選取「InMobi(SDK)」

按一下「如何簽署合作夥伴協議」,與 InMobi 建立出價合作夥伴關係



按一下「確認並同意」,然後點按「繼續」



如有 InMobi 對應項目,可直接選取,否則請按一下「新增對應」



然後輸入在上一個部分取得的「帳戶 ID」和「刊登位置 ID」。然後按一下「完成」。



瀑布


在「廣告來源」部分的「刊登序列」資訊卡下方,選取「新增廣告來源」

選取「InMobi」,然後啟用「最佳化」切換按鈕。輸入上一節取得的「使用者名稱」和「API 金鑰」,進行 InMobi 廣告來源的最佳化設定,然後輸入 InMobi 的有效千次曝光出價金額,並點按「繼續」



如有 InMobi 對應項目,可直接選取, 否則請按一下「新增對應」

接著,輸入上一節取得的帳戶 ID刊登位置 ID,然後按一下「完成」


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

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

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

在應用程式層級的 Gradle 檔案中,新增下列導入依附元件和設定:

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02")
    implementation("com.google.ads.mediation:inmobi:11.1.1.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.google.ads.mediation:inmobi:11.1.1.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

手動整合

  1. 下載 InMobi Android SDK,然後解壓縮 libs 資料夾下的 InMobiSDK.aar 檔案,並新增至專案。

  2. 前往 Google 的 Maven 存放區,找到 InMobi 轉接程式構件。選取最新版本,下載 InMobi 轉接程式的 .aar 檔案並新增至專案。

  3. InMobi 也要求加入其他依附元件。詳情請參閱 InMobi 的說明文件

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

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

在 7.1.0.0 版中,InMobi 轉接程式新增了 InMobiConsent 類別,可讓您將同意聲明資訊傳遞至 InMobi。下列程式碼範例會在 InMobiConsent 類別上呼叫 updateGDPRConsent()。如果您選擇呼叫這個方法,建議先呼叫再透過 GMA Next-Gen SDK 請求廣告。

Kotlin

import com.inmobi.sdk.InMobiSdk
import com.google.ads.mediation.inmobi.InMobiConsent
// ...

val consentObject = JSONObject()
try {
  consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true)
  consentObject.put("gdpr", "1")
} catch (exception: JSONException) {
  Log.e(TAG, "Error creating GDPR consent JSON.", exception)
}

InMobiConsent.updateGDPRConsent(consentObject)

Java

import com.inmobi.sdk.InMobiSdk;
import com.google.ads.mediation.inmobi.InMobiConsent;
// ...

JSONObject consentObject = new JSONObject();
try {
  consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
  consentObject.put("gdpr", "1");
} catch (JSONException exception) {
  Log.e(TAG, "Error creating GDPR consent JSON.", exception);
}

InMobiConsent.updateGDPRConsent(consentObject);

如要進一步瞭解 InMobi 在這個同意聲明物件中接受的可能鍵和值,請參閱 InMobi 的 GDPR 導入詳細資料

美國州級隱私權法律

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

在 10.5.7.1 版中,InMobi 轉接程式新增了從共用偏好設定讀取 IAB 美國隱私權字串的功能。請按照美國州級隱私權法律文件中的操作說明,在共用偏好設定中設定美國隱私權字串。

此外,請參閱 InMobi 的 CCPA 說明文件,瞭解如何在 InMobi 資訊主頁中啟用 CCPA 設定。

步驟 5:新增必要的額外程式碼

整合 InMobi 時,不需要額外程式碼。

步驟 6:測試導入成果

啟用測試廣告

請務必為 AdMob 註冊測試裝置,並在 InMobi 使用者介面啟用測試模式

驗證測試廣告

如要確認您是否收到 InMobi 的測試廣告,請使用「InMobi (出價)」和「InMobi (刊登序列)」廣告來源,在廣告檢查器中啟用單一廣告來源測試

選擇性步驟

權限

為獲得最佳成效,InMobi 建議在應用程式的 AndroidManifest.xml 檔案中,新增下列選用權限。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

聯播網專屬參數

InMobi 轉接程式支援其他可做為 Android Bundle 傳遞至轉接程式的要求參數。轉接程式會在軟體包中尋找下列鍵:

要求參數和值
InMobiNetworkKeys.AGE_GROUP
:使用者的年齡層。
InMobiNetworkValues.BELOW_18
InMobiNetworkValues.BETWEEN_18_AND_24
InMobiNetworkValues.BETWEEN_25_AND_29
InMobiNetworkValues.BETWEEN_30_AND_34
InMobiNetworkValues.BETWEEN_35_AND_44
InMobiNetworkValues.BETWEEN_45_AND_54
InMobiNetworkValues.BETWEEN_55_AND_65
InMobiNetworkValues.ABOVE_65
InMobiNetworkKeys.EDUCATION
使用者的教育程度。
InMobiNetworkValues.EDUCATION_HIGHSCHOOLORLESS
InMobiNetworkValues.EDUCATION_COLLEGEORGRADUATE
InMobiNetworkValues.EDUCATION_POSTGRADUATEORABOVE
InMobiNetworkKeys.AGE 字串。使用者年齡
InMobiNetworkKeys.POSTAL_CODE 字串。使用者的郵遞區號 (通常是五位數)
InMobiNetworkKeys.AREA_CODE 字串。使用者的區碼 (電話號碼的一部分)
InMobiNetworkKeys.LANGUAGE 字串。使用者的母語 (如已知)。
InMobiNetworkKeys.CITY 字串。使用者的所在城市
InMobiNetworkKeys.STATE 字串。使用者的州/省
InMobiNetworkKeys.COUNTRY 字串。使用者的國家/地區
InMobiNetworkKeys.LOGLEVEL
設定 InMobi SDK 的記錄檔層級。
InMobiNetworkValues.LOGLEVEL_NONE
InMobiNetworkValues.LOGLEVEL_DEBUG
InMobiNetworkValues.LOGLEVEL_ERROR

以下程式碼範例說明如何設定這些廣告請求參數:

Kotlin

val extras = Bundle()
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44)
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE)
val request = AdRequest.Builder(AD_UNIT_ID)
   .putAdSourceExtrasBundle(InMobiAdapter::class.java, extras)
   .build()

Java

Bundle extras = new Bundle();
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44);
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE);
AdRequest request = new AdRequest.Builder(AD_UNIT_ID)
   .putAdSourceExtrasBundle(InMobiAdapter.class, extras)
   .build();
  • AD_UNIT_ID 替換為廣告單元 ID。

  • AREA_CODE_VALUE 替換為區碼。

使用原生廣告

廣告顯示

InMobi 轉接程式會以 NativeAd 物件的形式傳回原生廣告,並填入 NativeAd 的下列原生廣告欄位說明

欄位 InMobi 轉接程式一律納入的素材資源
廣告標題
圖片 1
媒體檢視畫面
內文
應用程式圖示
行動號召
星級評等
商店
價格

1 對於原生廣告的主要圖片素材資源,InMobi 轉接程式不提供直接存取權限,而是在 MediaView 中填入影片或圖片內容。

曝光和點擊追蹤

GMA Next-Gen SDK 會使用 InMobi SDK 的回呼追蹤曝光和點擊,因此這兩個資訊主頁的報表資料會近乎一致。

錯誤代碼

如果轉接程式無法從 InMobi 接收廣告,發布商可以使用下列類別的 ResponseInfo.getAdSourceResponses(),檢查廣告回應中的根本錯誤:

com.google.ads.mediation.inmobi.InMobiAdapter
com.google.ads.mediation.inmobi.InMobiMediationAdapter

以下是廣告無法載入時,InMobi 轉接程式擲回的程式碼和隨附訊息:

錯誤代碼 原因
0-99 InMobi SDK 錯誤。詳情請參閱程式碼
100 AdMob 使用者介面中設定的 InMobi 伺服器參數遺失/無效。
101 無法初始化 InMobi SDK。
102 請求的廣告大小不符合 InMobi 支援的橫幅廣告尺寸。
103 廣告請求不是統一的原生廣告請求。
104 嘗試請求 InMobi 廣告,但未初始化 InMobi SDK。由於轉接程式會在請求 InMobi 廣告前初始化 InMobi SDK,這種情況理論上絕對不會發生。
105 InMobi 的廣告尚未準備就緒,無法顯示。
106 InMobi 無法顯示廣告。
107 InMobi 傳回的原生廣告缺少必要素材資源。
108 InMobi 的原生廣告圖片素材資源含有格式錯誤的網址。
109 轉接程式無法下載 InMobi 的原生廣告圖片素材資源。