Google Mobile Ads SDK 在 Android 应用中的首次接入:添加依赖、配置 App ID、初始化并验证
Google Mobile Ads SDK 在 Android 应用中的首次接入添加依赖、配置 App ID、初始化并验证【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills这篇文章面向在 Android 应用项目中第一次接入 Google Mobile AdsGMANext-Gen SDK 的开发者在项目中添加ads-mobile-sdk依赖、传入 AdMob App ID、完成 SDK 初始化并用构建验证集成结果。步骤依据 skills 仓库中的 google-mobile-ads-get-started 技能 及其 Android 快速开始参考文档。文档明确给出的环境要求minSdk24、compileSdk34。准备条件一个可以用 Gradle 构建的 Android 应用工程。满足文档要求的 SDK 级别minSdk24、compileSdk34。如果项目此前集成过旧版 SDKcom.google.android.gms:play-services-ads仓库提供了对应的迁移技能 google-mobile-ads-android-migrate-to-next-gen本文只覆盖全新接入的路径。添加 ads-mobile-sdk 依赖文档要求在 app 级依赖中加入com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk的最新稳定版dependencies { implementation com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:VERSION }VERSION需替换为最新稳定版版本号。文档说明如果无法直接访问 Maven可以运行下面这条命令获取最新版本号。该命令拉取 SDK 的maven-metadata.xml并提取latest标签中的版本号只发起只读网络请求、输出版本号curl -sS https://dl.google.com/dl/android/maven2/com/google/android/libraries/ads/mobile/sdk/ads-mobile-sdk/maven-metadata.xml | sed -n s/.*latest\(.*\)\/latest.*/\1/p依赖声明之外文档还要求两件事在 app 级构建文件中从所有依赖中全局排除play-services-ads和play-services-ads-lite。文档给出的理由是避免 duplicate symbol errors重复符号错误。继续下一步之前先 Sync Gradle。配置 App IDGMA Next-Gen SDK 的 App ID 是编程式传入的把applicationId参数传给InitializationConfig.Builder。文档给出的示例 AdMob App ID 如下InitializationConfig.Builder(ca-app-pub-3940256099942544~3347511713).build()文档明确提醒发布前必须把这个示例 ID 替换为你自己的真实 AdMob App ID。仓库的集成检查文档 application-id.md 给出了 Android App ID 的格式约束可以在接入后用来核对需要查找的键名InitializationConfig.Builder中的applicationIdApp ID 必须匹配正则^(ca-app-pub-[a-zA-Z0-9\-])~(.*)$不匹配则检查失败同一个平台或构建目标上配置了多个 App ID、且没有通过 flavor 或环境隔离时检查同样失败如果使用的 App ID 是官方测试 App ID检查会给出 Warning。注意一处文档间差异检查文档列出的 AdMob 官方测试 ID 是ca-app-pub-3940256099942544~1458002511Ad Manager 为ca-app-pub-9939518381636264~1458516390而快速开始文档给出的示例 ID 是ca-app-pub-3940256099942544~3347511713。两个文档没有解释差异本文按快速开始文档的示例 ID 演示接入两处来源都已标注发布前无论用哪个 ID 都要换成真实 App ID。初始化 SDK文档给出的初始化所需 import 和方法签名import com.google.android.libraries.ads.mobile.sdk.MobileAds import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationStatus import com.google.android.libraries.ads.mobile.sdk.initialization.OnAdapterInitializationCompleteListenerfun initialize( context: Context, initializationConfig: InitializationConfig, listener: OnAdapterInitializationCompleteListener? ): Unit监听器是单方法接口fun interface OnAdapterInitializationCompleteListener { fun onAdapterInitializationComplete(status: InitializationStatus): Unit }组合起来初始化调用为// 文档给出的示例 AdMob App ID发布前必须替换为真实 AdMob App ID val initializationConfig InitializationConfig.Builder(ca-app-pub-3940256099942544~3347511713).build() MobileAds.initialize( context, // 应用提供的 Context对应文档签名中的 context 参数 initializationConfig, OnAdapterInitializationCompleteListener { status - // 在回调中根据返回的 InitializationStatus 记录初始化结果 } )围绕初始化文档给出了两条硬性约束快速开始文档要求 SDK必须在后台线程上初始化ALWAYS initialize on a background thread。迁移文档 google-mobile-ads-android-migrate-to-next-gen 对 Next-Gen SDK 的通用行为补充了两点MobileAds.initialize()必须先于其他任何 SDK 方法调用所有 GMA SDK 回调都在后台线程触发回调中涉及 UI 的操作Toast、View 更新、Fragment 事务等必须包在runOnUiThread {}或Dispatchers.Main.launch {}中文档称跳过这一步会导致应用崩溃。验证集成文档给出的验证方式是执行构建gradle build -x test成功条件构建成功successful clean build。如果出现 GMA SDK 相关的编译错误需要先解决它们。构建之外可以按检查文档的格式标准核对 App ID确认InitializationConfig.Builder中存在applicationId、其值匹配^(ca-app-pub-[a-zA-Z0-9\-])~(.*)$。这是文档列出的全部验证项。接入完成之后快速开始技能的工作流说明SDK 安装成功后下一步是选择一个广告格式ad format继续集成。仓库为各格式提供了独立技能可按需阅读Bannergoogle-mobile-ads-bannerInterstitialgoogle-mobile-ads-interstitialRewardedgoogle-mobile-ads-rewarded在发布前记得把文中所有出现示例 App IDca-app-pub-3940256099942544~3347511713的位置替换为你自己的 AdMob App ID。【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考