无法在 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 移动广告的主要内容,如果未能解决你的问题,请参考以下文章

如何在flutter中集成paypal支付

如何在我的Flutter应用中集成游戏?

在 Java 桌面应用程序中集成 Google Map 的好解决方案?

现有项目中集成Flutter

在 Android 中集成 Flutter

Flutter中集成Font Awesome