FCM 通知在发布模式下工作,但*不是*来自 Play 商店

Posted

技术标签:

【中文标题】FCM 通知在发布模式下工作,但*不是*来自 Play 商店【英文标题】:FCM notifications working in release mode but *not* from Play Store 【发布时间】:2021-05-05 13:59:19 【问题描述】:

所以,我在 flutter 应用程序上设置了 FCM 通知。它在debugrelease 模式下都适用于androidios

当我创建一个版本apk 并在我的手机上对其进行测试时,通知会起作用。但是当我将appbundle 上传到 Play 商店时,我从 Play 商店下载的版本通知不起作用。 getToken 方法返回 null,你知道为什么会这样吗?

【问题讨论】:

【参考方案1】:

我认为您尚未为发布签名密钥添加 SHA 指纹。如果您选择了“让谷歌管理和保护您的应用签名密钥(推荐)”之类的选项,那么您应该进入 Play 管理中心,然后选择您的应用,进入设置下的应用签名(新版本的 Play 管理中心)。您的指纹将在“应用程序签名密钥证书”下方可用,复制它,然后转到 Firebase 控制台,在您的项目中,进入项目设置,最后添加您复制的指纹。然后下载最新的 Google-services.json 文件并将其添加到您的项目中。如果您没有启用 Google 签名,则必须使用 keytool 从本地签名密钥(您使用的)中找到您的指纹,然后添加它。

阅读:https://developers.google.com/android/guides/client-auth

https://support.google.com/firebase/answer/9137403?hl=en

【讨论】:

【参考方案2】:

您是否将签名密钥的 SHA1 指纹添加到您的 firebase 项目中? Android 要求您将密钥库的 SHA1 指纹添加到 Firebase。您可以在 Firebase 控制台的项目设置中执行此操作。

如果您使用的是 Google Play 应用签名,则需要使用 google play 的 SHA1,因为 Google 会将您的发布签名密钥替换为 googles 服务器上的密钥

【讨论】:

以上是关于FCM 通知在发布模式下工作,但*不是*来自 Play 商店的主要内容,如果未能解决你的问题,请参考以下文章

来自通知中心的推送通知不起作用,但在 FCM 中它正在工作

在后台模式下不调用 FCM 通知方法

如何知道来自 FCM 的通知是不是没有到达目标设备?

来自 FCM 的成功响应,但没有通知

我可以在没有通知权限的情况下使用 FCM 接收消息吗?

ionic iOS FCM 在开发模式下工作,但在生产模式下不工作