【问题标题】:Why does my android app crashes when I implement android.gms:play-services-ads:19.3.0为什么当我实现 android.gms:play-services-ads:19.3.0 时我的 android 应用程序崩溃
【发布时间】:2020-09-06 15:07:53
【问题描述】:

长话短说,我开发了一个简单的 android java 应用程序,我希望使用 adsense 服务实现一些广告。该应用程序本身可以工作并达到其目的,但是一旦我在 gradle 移动模块中添加实现“com.google.android.gms:play-services-ads:19.3.0”,该应用程序就会崩溃。

我还尝试完成所有可能的必要步骤,包括 Android 清单中的 android 名称和值元数据部分,并在 Main Activity 中设置带有库和 MobileAds.initialize() 函数的广告。

我按照这里的步骤操作:

https://developers.google.com/admob/android/quick-start?hl=import_the_mobile_ads_sdk

但当我试图隔离问题时,我发现仅在 gradle 移动脚本中包含实现“com.google.android.gms:play-services-ads:19.3.0”(连同 google( ) 存储库中的规范)应用程序从一开始就崩溃。它甚至没有进入。

我能做什么?为什么会这样?如果我能得到一些帮助,我会很高兴的。

【问题讨论】:

  • “我能做什么?” 首先在 logcat 中查找错误消息和堆栈跟踪。
  • 崩溃时是否收到任何错误消息?
  • 没有我知道的错误信息。

标签: java android gradle


【解决方案1】:

您链接到的文档包括此部分:Update your AndroidManifest.xml

重要提示:从 Google 移动广告 SDK 版本 17.0.0 开始,此步骤是必需的。未能添加此 <meta-data> 标记会导致崩溃并显示以下消息:Google Mobile Ads SDK 初始化错误。

您说过您所做的只是将依赖项添加到您的build.gradle 文件中,所以您可能还没有完成这一步,这就是您的问题。您需要find your App ID 并将其添加到AndroidManifest.xml,如文档中所述。

【讨论】:

  • 感谢您的帮助,但我也已经这样做了。
  • 我昨天投了赞成票,因为这对我有用使用真实的应用程序 ID。我今天在尝试使用“ca-app-pub-xxxxxxxxxxxxxxxxx~yyyyyyyyyy”虚拟数字时发现,它会像元数据不存在时一样崩溃而没有输出。所以我猜文档说你可以在测试应用程序中使用虚拟应用程序 ID 是在撒谎?
  • 更新:哦,我现在明白了。文档并没有说“ca-app-pub-xxxxxxxxxxxxxxxxxx~yyyyyyyyyy”是一个可用于测试的虚拟数字。附近有一条评论说 "ca-app-pub-3940256099942544~3347511713" 实际上是可用于测试的。这又对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多