在應用程式中整合 Google Mobile Ads SDK 是顯示廣告及賺取收益的第一步。整合 SDK 後,您可以選擇廣告格式 (例如原生或獎勵影片),並按照步驟導入。
事前準備
如要讓應用程式做好準備,請完成下列各節的步驟。
應用程式必要條件
請確認應用程式的版本檔案使用下列的值:
- 最低 SDK 版本為
21
- 編譯
34
以上版本的 SDK
- 最低 SDK 版本為
設定應用程式
在 Gradle 設定檔案中,加入 Google Maven 存放區和 Maven 中央存放區:
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include(":app")
Groovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app'
將 Google Mobile Ads SDK 的依附元件加進應用程式層級的建構檔案:
Kotlin
dependencies { implementation("com.google.android.gms:play-services-ads:23.6.0") }
Groovy
dependencies { implementation 'com.google.android.gms:play-services-ads:23.6.0' }
將 Ad Manager 應用程式 ID (在 Ad Manager 網頁介面中找出) 新增至應用程式的
AndroidManifest.xml
檔案。如要這麼做,請使用android:name="com.google.android.gms.ads.APPLICATION_ID"
新增<meta-data>
標記。您可以在 Ad Manager 網頁介面中找到應用程式 ID。在android:value
中插入 Ad Manager 應用程式 ID,並以半形引號括住。<manifest> <application> <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value=" /<network_code>~<application_id>"/> </application> </manifest>
在實際應用程式中,請將範例應用程式 ID 替換為實際的 Ad Manager 應用程式 ID。如果您只是在 Hello World 應用程式中嘗試使用 SDK,可以使用範例 ID。
另外,請注意,如果未正確新增
<meta-data>
標記,應用程式會當機,並顯示以下訊息:Missing application ID.
(選用) 宣告
AD_ID
權限,讓舊版與 Android 13 搭配運作。如果應用程式使用 Google Mobile Ads SDK 20.4.0 以上版本20.4.0,您可以略過這個步驟,因為 SDK 會自動宣告
com.google.android.gms.permission.AD_ID
權限,並在廣告 ID 可用時存取廣告 ID。如果應用程式使用 Google Mobile Ads SDK 20.3.0 以下版本,且指定 Android 13 為目標版本,則必須在
AndroidManifest.xml
檔案中新增com.google.android.gms.permission.AD_ID
權限,讓 Google Mobile Ads SDK 存取廣告 ID:20.3.0<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
如要進一步瞭解
com.google.android.gms.permission.AD_ID
權限宣告 (包括停用方式),請參閱這篇 Play 管理中心文章。
初始化 Google Mobile Ads SDK
在載入廣告之前,請呼叫MobileAds.initialize()
來初始化 Google Mobile Ads SDK。這個方法會在 Google Mobile Ads SDK 和轉接器初始化完成後,或在 30 秒逾時後,初始化 SDK 並呼叫完成事件監聽器。這項操作只需執行一次,最好是在應用程式啟動時執行。
Google Mobile Ads SDK 或中介服務合作夥伴 SDK 可能會在初始化時預先載入廣告。如果您需要向歐洲經濟區 (EEA) 的使用者取得同意聲明,請設定任何請求專屬標記,例如 setTagForChildDirectedTreatment()
或 setTagForUnderAgeOfConsent()
,或在載入廣告前採取其他行動,請務必在初始化 Google Mobile Ads SDK 前完成這些動作。
以下範例說明如何在活動內的背景執行緒上呼叫 initialize()
方法:
Java
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() -> {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this, initializationStatus -> {});
})
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) {}
}
}
}
選取廣告格式
Google Mobile Ads SDK 現已匯入,您可以開始導入廣告了。 Ad Manager 提供多種不同的廣告格式,您可以選擇最適合應用程式使用者體驗的格式。
橫幅廣告
橫幅廣告單元會占用應用程式的部分版面來顯示矩形廣告。且會固定在一段時間後自動重新整理。也就是說,即使使用者一直停留在應用程式的同一個畫面,每隔一段時間還是能看見新的廣告。這也是導入方式最簡單的廣告格式。
插頁式
您可以將插頁式廣告單元安插至使用者操作應用程式的空檔或轉換點 (例如通過遊戲應用程式關卡後),在應用程式介面上顯示全版廣告。
原生
原生廣告可讓您自訂應用程式中廣告標題和行動號召等素材資源的呈現方式。您可以自行設定廣告樣式,打造自然且不顯眼的廣告呈現方式,為使用者帶來更豐富的體驗。
Google Ad Manager 提供兩種原生廣告導入方式:原生樣式和透過自訂顯示的標準原生廣告。
原生樣式旨在簡化原生廣告的導入程序,如果您是這類格式的新手,不妨試試這項功能。自訂轉譯功能的設計目的,是讓您在製作簡報時享有最大的自由。
已獲得獎勵
獎勵廣告單元可讓使用者透過玩遊戲、參加問卷調查或觀看影片等方式,贏得應用程式內獎勵,例如金幣、額外生命數或積分。您可以為不同的廣告單元設定不同的獎勵,並指定使用者可獲得的獎勵價值和道具。
插頁式獎勵廣告
插頁式獎勵廣告是一種全新的獎勵廣告格式,您可在應用程式自然轉換時自動顯示這類廣告,向使用者提供獎勵,例如錢幣或額外生命。
與獎勵廣告不同的是,插頁式獎勵廣告不需要等使用者確定選擇觀看即可放送。
獎勵廣告會顯示選擇觀看的提示,但插頁式獎勵廣告則是顯示獎勵簡介畫面,而使用者可以選擇不要觀看廣告。
應用程式開啟
應用程式開啟頁面廣告格式會在使用者開啟或切換回應用程式時顯示,並會疊加在載入畫面上。
其他資源
GitHub 上的 Google Mobile Ads 存放區示範如何使用這個 API 提供的不同廣告格式。