无法在 Flutter 中集成 Google 移动广告
Posted
技术标签:
【中文标题】无法在 Flutter 中集成 Google 移动广告【英文标题】:Unable to integrate Google Mobile Ads in Flutter 【发布时间】:2021-05-01 17:18:50 【问题描述】:我一直在努力将谷歌广告集成到颤振应用中。它一直在崩溃。
安装版本:google_mobile_ads:^0.12.1+1
我也使用广告元数据更新了清单
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="<AD-CODE>" />
每当我尝试在模拟器上调试代码时。我在控制台中收到这些错误:
Launching lib/main.dart on sdk gphone x86 arm in debug mode...
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
E/AndroidRuntime(23372): FATAL EXCEPTION: main
E/AndroidRuntime(23372): Process: com.example.kavya_digest, PID: 23372
E/AndroidRuntime(23372): java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:
E/AndroidRuntime(23372):
E/AndroidRuntime(23372): ******************************************************************************
E/AndroidRuntime(23372): * Invalid application ID. Follow instructions here: *
E/AndroidRuntime(23372): * https://googlemobileadssdk.page.link/admob-android-update-manifest *
E/AndroidRuntime(23372): * to find your app ID. *
E/AndroidRuntime(23372): ******************************************************************************
E/AndroidRuntime(23372):
E/AndroidRuntime(23372):
E/AndroidRuntime(23372): at android.app.ActivityThread.installProvider(ActivityThread.java:7135)
E/AndroidRuntime(23372): at android.app.ActivityThread.installContentProviders(ActivityThread.java:6675)
E/AndroidRuntime(23372): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6592)
E/AndroidRuntime(23372): at android.app.ActivityThread.access$1300(ActivityThread.java:233)
E/AndroidRuntime(23372): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)
E/AndroidRuntime(23372): at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(23372): at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime(23372): at android.app.ActivityThread.main(ActivityThread.java:7523)
E/AndroidRuntime(23372): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(23372): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime(23372): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
E/AndroidRuntime(23372): Caused by: java.lang.IllegalStateException:
E/AndroidRuntime(23372):
E/AndroidRuntime(23372): ******************************************************************************
E/AndroidRuntime(23372): * Invalid application ID. Follow instructions here: *
E/AndroidRuntime(23372): * https://googlemobileadssdk.page.link/admob-android-update-manifest *
E/AndroidRuntime(23372): * to find your app ID. *
E/AndroidRuntime(23372): ******************************************************************************
E/AndroidRuntime(23372):
E/AndroidRuntime(23372):
E/AndroidRuntime(23372): at com.google.android.gms.internal.ads.zzzt.attachInfo(com.google.android.gms:play-services-ads-lite@@19.7.0:24)
E/AndroidRuntime(23372): at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(com.google.android.gms:play-services-ads-lite@@19.7.0:3)
E/AndroidRuntime(23372): at android.app.ActivityThread.installProvider(ActivityThread.java:7130)
E/AndroidRuntime(23372): ... 10 more
Exited
【问题讨论】:
从我可以看出您没有正确的 ID,它显示为E/AndroidRuntime(23372): * Invalid application ID.
,您应该检查此链接 (googlemobileadssdk.page.link/admob-android-update-manifest) 以将您的 ID 正确添加到 AndroidManifest.xml
@LuisFernandoScripcaru 嗨!感谢您指出错误。它在指令屏幕上有两种格式,我用错了一种。 prnt.sc/12d8gpb
欢迎您,希望对您有所帮助!
【参考方案1】:
要获取应用程序 ID,请创建 admob 应用程序,然后为您的应用程序创建广告单元,然后您会同时获取 appid 和广告单元以开始使用。
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
【讨论】:
以上是关于无法在 Flutter 中集成 Google 移动广告的主要内容,如果未能解决你的问题,请参考以下文章