本指南适用于希望借助 AdMob 通过 Android 应用获利但不使用 Firebase 的发布商。如果您打算或考虑在应用中添加 Firebase,请改为参阅本指南的 AdMob 与 Firebase 版本。
要展示广告和赚取收入,第一步是将 Google 移动广告 SDK 集成到应用中。集成 SDK 后,您可以选择一种广告格式,如原生广告或激励视频广告,然后按照相应步骤进行实现。
前提条件
- 使用 Android Studio 3.2 或更高版本
minSdkVersion
16 或更高版本compileSdkVersion
28 或更高版本
导入移动广告 SDK
通过使用指向 Google Maven 代码库的 Gradle 依赖项,应用可以导入 Google 移动广告 SDK。首先,请确保在项目级 build.gradle
文件的 allprojects
部分引用了 google()
。
项目级 build.gradle 示例(节选)
allprojects { repositories { google() } }
接下来,请打开您应用的应用级 build.gradle
文件,并找到“dependencies”部分。
应用级 build.gradle 示例(节选)
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'com.google.android.gms:play-services-ads:19.7.0' }
请添加上面的粗体代码行,该代码会指示 Gradle 提取最新版本的移动广告 SDK 及其他相关依赖项。添加完该代码后,请保存文件并执行“Gradle sync”。
更新您的 AndroidManifest.xml
通过添加下面显示的包含 android:name="com.google.android.gms.ads.APPLICATION_ID"
的 <meta-data>
标记,即可将您的 AdMob 应用 ID(可在 AdMob 界面中找到)添加到您的应用的 AndroidManifest.xml
文件中。
您可以在 AdMob 界面中找到您的应用 ID。对于 android:value
,请插入 AdMob 应用 ID 并加上引号,如下所示。
<manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application> </manifest>
初始化移动广告 SDK
加载广告之前,请先调用 MobileAds.initialize()
,以便让应用初始化移动广告 SDK。该方法将初始化相应 SDK,并在初始化完成后或 30 秒超时后回调完成监听器。此操作仅需执行一次,最好是在应用启动时执行。
以下示例说明了如何在 Activity 中调用 initialize()
方法:
示例 MainActivity(节选)
Java
package ... import ... 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); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); } }
Kotlin
package ... import ... import com.google.android.gms.ads.MobileAds; class MainActivity : AppCompatActivity() { ... override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} } ... }
如果您使用了中介功能,请等到调用完成处理程序后再加载广告,因为这可确保初始化所有中介适配器。
选择一种广告格式
现已导入移动广告 SDK,您随时可以植入广告了。AdMob 提供了许多不同的广告格式,您可以根据您应用的用户体验选择最契合的一款。
横幅广告
横幅广告是在设备屏幕的顶部或底部展示的矩形广告。用户与应用互动时,横幅广告会停留在屏幕上,并且可在一段时间后自动刷新。如果您刚开始接触移动广告,建议从横幅广告着手。
插页式广告
插页式广告是全屏广告,它会覆盖整个应用界面,直到用户将其关闭。在应用执行流程的自然停顿点,例如游戏的不同关卡之间,或一项任务完成后,最适合投放这类广告。
原生广告
原生广告是一种与您应用的外观和风格融为一体的定制广告。您可以决定这类广告的投放方式和位置,从而让版式与应用的设计风格更为统一。
激励广告
向观看短视频和与试玩广告及问卷调查互动的用户予以奖励的广告。适合通过那些只愿意免费玩游戏的用户获利。
植入激励广告 | 植入激励广告(新 API) |