android - 在 Play 商店中发布 Android 应用程序后,Firebase 云消息传递无法正常工作

标签 android flutter firebase firebase-cloud-messaging

因此,当我在 Android 或 iOS 应用程序中以调试或 Release模式运行应用程序时,我的应用程序将收到 FCM 推送通知,完全没有问题。但是在 Google Play 应用商店上发布我的应用程序后,我的 Android 应用程序突然不会收到 FCM 推送通知。

我怀疑这与 Google Play 应用签名有关,因为我也遇到了 Google 登录问题。将 SHA-1 证书指纹从 Google Play 控制台(应用完整性)复制到我的 Firebase 控制台后,我可以解决 Google 登录问题

我还将 SHA-1 版本和调试添加到了 Firebase 控制台。

但不幸的是,我的 Firebase 云消息传递仍然存在问题,该消息只是没有出现在我的通知托盘上。

我错过了什么吗?请帮忙:)

最佳答案

我终于可以解决这个问题了。

就我而言,如果您使用 Google Play 应用签名发布应用,并且在 Google 云平台 (GCP) 中对 Android 应用使用 API key 限制,就会出现此问题。

我无法从设备获取 FCM ID,这就是为什么我们自己的后端无法向 Android 设备发送推送通知,因为 FCM ID 未发送到我们的后端

这是此案例的解决方案

  1. 打开 Google Play 管理中心,您必须复制 SHA-1 证书指纹。在左侧栏,请找到“设置”-->“应用程序完整性”

enter image description here

  • 打开 GCP 控制台上的凭据部分,然后选择您的 Android key 。您可以在这里访问它:https://console.cloud.google.com/apis/credentials
  • enter image description here

  • 然后添加新项目,将您获得的 SHA-1 粘贴到此处,并且不要忘记保存! enter image description here
  • 就我而言,导致此问题的错误是:

    java.io.IOException: FIS_AUTH_ERROR

    因此,如果我的解决方案不起作用,您可能需要按照 this answer 操作

    希望这有帮助

    关于android - 在 Play 商店中发布 Android 应用程序后,Firebase 云消息传递无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72445017/

    相关文章:

    animation - 在 Flutter 中将 ListView 项目动画化为全屏

    firebase - 是否可以将 Cypress e2e 测试与 firebase auth 项目一起使用?

    java - XPosed: Hook 枚举中覆盖的函数

    android - 创建 Activity 时崩溃

    flutter - AutoCompleteTextField Controller 无法正常工作

    flutter - 使用 Flutter 为 Google Play 和华为的 App Gallery 部署应用程序的最佳方式是什么?

    android - Firebase Android 找 friend 功能

    firebase - 如何修复 iOS Firestore Increment() 上的错误 "Ambiguous use of ' Increment'"

    java - 当我按“获取位置”按钮时,我的应用程序崩溃

    java - 设置嵌套的 TextView 文本