Admob Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalS...

解决办法见本文章末尾。

本指南适用于希望借助AdMob通过 Android 应用获利但不使用 Firebase 的发布商。如果您打算或考虑在应用中添加 Firebase,请改为参阅本指南的 AdMob 与 Firebase 版本。

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

前提条件
使用 Android Studio 1.0 或更高版本
定位到 Android API 级别 14 或更高级别
推荐:创建一个 Google AdMob 帐号并注册应用。
导入移动广告 SDK
通过使用指向 Google Maven 代码库的 Gradle 依赖项,应用可以导入 Google 移动广告 SDK。要使用该代码库,您需要在应用的项目级 build.gradle 文件中对其进行引用。请打开该文件,并找到 allprojects 部分:

项目级 build.gradle 示例(节选)

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

如果上面的 maven 指令不存在,请添加该指令。

接下来,请打开您应用的应用级 build.gradle 文件,并找到“dependencies”部分。

应用级 build.gradle 示例(节选)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.google.android.gms:play-services-ads:17.1.1'
}

请添加上面的粗体代码行,该代码会指示 Gradle 提取最新版本的移动广告 SDK。添加完该代码后,请保存文件并执行“Gradle sync”。

更新您的 AndroidManifest.xml
通过添加下面显示的 <meta-data> 标记,即可将您的 AdMob 应用 ID 添加到您应用的 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="[ADMOB_APP_ID]"/>
    </application>
</manifest>

重要提示:
自 Google 移动广告 SDK 17.0.0 版本开始,必须执行此步骤。如果未能添加此 <meta-data> 代码,将会导致崩溃,并显示以下消息:"The Google Mobile Ads SDK was initialized incorrectly."

    原文作者:情随事迁666
    原文地址: https://www.jianshu.com/p/8601ac9bbd76
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞