开始使用

要展示广告并赚取收入,第一步是将 Google 移动广告 SDK(Beta 版)集成到应用中。集成 SDK 后,您可以选择一种广告格式,如原生广告或激励视频广告,然后按照相应步骤植入广告。

准备工作

为了让您的应用做好准备,请完成以下部分中的步骤。

应用要满足的前提条件

  • 确保您应用的 build 文件使用以下值:

    • 最低 SDK 版本为 24 或更高版本
    • 编译 SDK 版本为 35 或更高版本
  • 对于 Kotlin 应用,请使用最低 Kotlin 版本 1.9。

在您的 AdMob 账号中设置应用

完成以下步骤,将您的应用注册为 AdMob 应用:

  1. 登录注册 AdMob 账号。

  2. 在 AdMob 中注册您的应用。此步骤将创建一个具有唯一 AdMob 应用 ID 的 AdMob 应用,本指南稍后需要用到此 ID。

配置您的应用

  1. 在 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'
  2. 将 Google 移动广告 SDK(Beta 版)的依赖项添加到应用级 build 文件中:

    Kotlin

    dependencies {
      implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01")
    }

    Groovy

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01'
    }
  3. 点击立即同步。如需详细了解同步,请参阅将项目与 Gradle 文件同步

初始化 Google 移动广告 SDK(Beta 版)

调用 MobileAds.initialize() 以初始化 Google 移动广告 SDK(Beta 版)。必须在后台线程上调用此方法,否则可能会导致“应用无响应”(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 Google Mobile Ads SDK (beta) on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample AdMob 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 Google Mobile Ads SDK (beta) on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample AdMob 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(Beta 版)和适配器初始化完成后或 30 秒超时后,调用完成监听器。此操作仅需执行一次,最好是在应用启动时执行。

在初始化时,Google 移动广告 SDK(Beta 版)或中介合作伙伴 SDK 可能会预加载广告。如果您需要获得欧洲经济区 (EEA) 用户的同意,请设置专门用于特定请求的标记(例如 RequestConfiguration.TagForChildDirectedTreatmentRequestConfiguration.TagForUnderAgeOfConsent),或者在加载广告之前采取其他相关操作,并确保在初始化 Google 移动广告 SDK(Beta 版)之前先完成这些操作。

选择一种广告格式

现已导入 Google 移动广告 SDK(Beta 版),您随时可以植入广告。AdMob 提供了许多不同的广告格式,您可以根据您应用的用户体验选择最契合的一种。

横幅广告单元将展示占用应用部分版面的矩形广告。这种广告可在设定好的一段时间后自动刷新。也就是说,即使用户停留在应用中的同一个屏幕上,他们也会每隔一段时间就看到新广告。此种广告格式也是最容易植入的。

植入横幅广告

插页式广告

插页式广告单元用于在您的应用中展示全屏广告。请将这些广告单元放置在应用界面中的自然间歇点和过渡点,比如在游戏应用中过关后。

植入插页式广告

激励广告

激励广告单元让用户能够通过玩游戏、填写调查问卷或观看视频来获得金币、额外生命或积分等应用内奖励。您可以针对不同广告单元设置不同的奖励,并指定用户获得的奖励价值和奖品。

植入激励广告

插页式激励广告

插页式激励广告是一种激励用户的新型广告格式,采用这种格式时,您可以通过在应用中的自然过渡点自动展示的广告向用户提供奖励,如金币或额外生命。

与激励广告不同,用户无需自行选择即可观看插页式激励广告。

与激励广告中提供选择观看提示不同,插页式激励广告需要提供一个介绍画面来告知用户提供何种奖励,并让用户可以自主选择退出广告。

植入插页式激励广告

开屏广告

开屏广告会在用户打开或切换回您的应用时展示。这种广告会叠加在加载屏幕上。

植入开屏广告