要展示广告并赚取收入,第一步是将 Google 移动广告 SDK 集成到应用中。集成 SDK 后,您可以选择一种广告格式(例如原生广告或激励视频广告),然后按照相应步骤进行实现。
准备工作
为了让您的应用做好准备,请完成以下部分中的步骤。
应用要满足的前提条件
确保您应用的 build 文件使用以下值:
- 最低 SDK 版本为
24
或更高 - 编译 SDK 版本为
35
或更高版本
- 最低 SDK 版本为
- 对于 Kotlin 应用,请使用最低 Kotlin 版本 1.9。
配置您的应用
在 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 移动广告 SDK 的依赖项添加到应用级 build 文件中:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.17.0-alpha02") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.17.0-alpha02' }
点击 Sync Now(立即同步)。如需详细了解如何同步,请参阅将项目与 Gradle 文件同步。
初始化 Google 移动广告 SDK
调用 MobileAds.initialize()
以初始化 Google 移动广告 SDK。必须在后台线程上调用此方法,否则可能会导致“应用无响应”(ANR) 错误。
Kotlin
import com.google.android.libraries.ads.mobile.sdk.MobileAds import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig 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, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // Other methods on MobileAds can now be called. } } }
Java
import com.google.android.libraries.ads.mobile.sdk.MobileAds; import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig; 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, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // Other methods on MobileAds can now be called. }) .start(); } }
此方法会初始化 SDK,并在 Google 移动广告 SDK 和适配器初始化完成后或 30 秒超时后调用完成监听器。此操作仅需执行一次,最好是在应用启动时执行。
在初始化时,Google 移动广告 SDK 或中介合作伙伴 SDK 可能会预加载广告。如果您需要获得欧洲经济区 (EEA) 用户的同意,请设置任何专门用于特定请求的标记(例如 RequestConfiguration.TagForChildDirectedTreatment
或 RequestConfiguration.TagForUnderAgeOfConsent
),或者在加载广告之前采取任何其他相关操作,并确保在初始化 Google 移动广告 SDK 之前先完成这些操作。
选择广告格式
现已导入 Google 移动广告 SDK,您随时可以植入广告了。Ad Manager 提供了许多不同的广告格式,您可以根据您应用的用户体验选择最契合的一种。
横幅
横幅广告单元展示会占用应用的部分布局的矩形广告。它们可以在设定时段后自动刷新。也就是说,即使用户停留在应用中的同一个屏幕上,他们也会每隔一段时间就看到新广告。此种广告格式也是最容易植入的。
插页式广告
插页式广告单元用于在您的应用中展示全屏广告。请将这些广告单元放置在应用界面中的自然停顿点和过渡点,比如在游戏应用中过关后。
激励广告
激励广告单元可让用户通过玩游戏、接受调查或观看视频来获得游戏代币、额外的生命或积分等应用内奖励。您可以针对不同广告单元设置不同的奖励,并指定用户将会获得的奖励价值和奖品。
插页式激励广告
插页式激励广告是一种激励用户的新型广告格式,采用这种格式时,您可以通过在应用中的自然过渡点自动展示的广告向用户提供奖励,如金币或额外的生命数。
与激励广告不同,用户无需自行选择即可观看插页式激励广告。
与激励广告中的选择观看提示不同,插页式激励广告需要一个介绍画面,其中显示提供的奖励,并可以让用户选择退出广告(如果他们想要退出)。
开屏
开屏广告是一种广告格式,在用户打开或切换回您的应用时展示。广告会叠加在加载屏幕上。