Mar*_*phi 36 sdk android ads kotlin
我将我的Android Studio(3.2.1)及其sdk更新到最新版本.之后,它需要通过添加这些标记手动更新Manifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@drawable/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="AllowBackup,GoogleAppIndexingWarning">
<meta-data
android:name="com.google.android.gms.ads.APP_ID"
android:value="ca-app-pub-#############"/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".NewActivity" />
<activity android:name=".PreviewActivity" />
<activity android:name=".EditActivity" />
<activity
android:name=".preferencesdata.AboutActivity"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" />
<activity android:name=".preferencesdata.SettingsActivity"
android:label="@string/settings">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
相反,应用程序ID我把我的应用程序的真实ID.该值也已更改为正确的广告单元ID,如https://developers.google.com/admob/android/quick-start所示.我还在MainActivity.kt中调用了这个函数:
MobileAds.initialize(this, resources.getString(R.string.banner_ad_unit_id))
Run Code Online (Sandbox Code Playgroud)
但是,问题无法解决.它仍然打印如下:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.easyapps.cryptnote, PID: 3991
java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:
******************************************************************************
* The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers *
* should follow the instructions LINK to add a valid *
* App ID inside the AndroidManifest. Google Ad Manager publishers should *
* follow instructions here: LINK. *
******************************************************************************
at android.app.ActivityThread.installProvider(ActivityThread.java:5156)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.IllegalStateException:
******************************************************************************
* The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers *
* should follow the instructions here: LINK to add a valid *
* App ID inside the AndroidManifest. Google Ad Manager publishers should *
* follow instructions here: LINK. *
******************************************************************************
at com.google.android.gms.internal.ads.zzmn.attachInfo(Unknown Source)
at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
... 10 more
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么会这样或者帮助我解决它?我试图谷歌这个问题,但没有解决方案.这似乎是一个尚未解决的新问题.提前谢谢了.
Sav*_*een 60
这是因为更新的AdMob SDK.现在,您需要在清单文件中添加appID.
<application> . . .
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################~##########"/>
</application>
Run Code Online (Sandbox Code Playgroud)
您可以从此处获取appID - > Google addmob - >选择应用程序 - >应用程序设置 - >应用程序ID.
您可以从此处了解更多广告开发者.
如果您想在使用自己的ID之前使用测试广告,请在此处查看来自developers.google的AdMob测试ID .
希望这会帮助你.谢谢 :)
小智 30
Google为Google广告提供了更新,因此如果您在Gradle中更新Admob库,则需要在清单中添加此广告.
<manifest>
<application>
<!-- TODO: Replace with your real AdMob app ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################~##########"/>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
Viv*_*ara 20
添加您的清单文件
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true" />
Pri*_*ain 10
我已经添加了 <meta-data...../> 但错误没有解决。解决方案是将 <meta-data.../> 放在 android -> app -> src -> main 中的 androidManifest.xml 文件中其他元数据的最后。像这样:
<application>
...
...
< meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################~##########"/>
</application>
Run Code Online (Sandbox Code Playgroud)
解决方案是将元数据行放在最后(意味着在 Android 清单文件中存在的所有其他元数据下方,但在关闭应用程序标记之前)。
不要与APPLICATION_ID混淆。例如,您不应将其替换为您的应用程序 ID。com.example.myapp. 保持原样。
<application>
...
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################~##########"/>
...
</application>
Run Code Online (Sandbox Code Playgroud)
重要提示:从 Google 移动广告 SDK 17.0.0 版开始,此步骤是必需的。未能添加此标记会导致崩溃并显示以下消息:Google 移动广告 SDK 未正确初始化。
<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>
Run Code Online (Sandbox Code Playgroud)
v17.0.0适用于 Android 的Google 移动广告 SDK刚刚发布,它带来了这些重要的变化。
所需的 AndroidManifest.xml 更改
从版本 17.0.0 开始,如果您是 AdMob 发布商,现在需要在 AndroidManifest.xml 文件中添加您的 AdMob 应用 ID。在 AdMob 用户界面中找到您的 AdMob 应用 ID 后,将其添加到清单中并添加以下标记:
<manifest>
<application>
<!-- TODO: Replace with your real AdMob app ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################~##########"/>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
未能添加此标签将导致应用程序在应用程序启动时崩溃,并显示以开头的消息 The Google Mobile Ads SDK was initialized incorrectly.
如果我使用 Google Ad Manager 而不是 AdMob 会怎样?
使用 Google Ad Manager 的发布商需要使用不同的代码将自己声明为 Ad Manager 应用,以避免发生同样的崩溃:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅链接。
| 归档时间: |
|
| 查看次数: |
35877 次 |
| 最近记录: |