google-services.json对FCM的影响是由于基于Phone的auth& amp; SHA-1证书

时间:2017-09-15 13:17:28

标签: firebase-authentication firebase-cloud-messaging

目前,我正在开发中。

在过去,我已将FCM纳入我的应用程序,并且所有正当程序均在 - https://firebase.google.com/docs/cloud-messaging/

事情按预期工作,直到今天我已经在我的应用程序中意识到,云消息没有得到传递。

最近我的应用程序Firebase的更改(仅在最近的5-6天内)是 - 我已经整合了Firebase Phone auth(OTP)身份验证&生成SHA-1证书。 我也注意到google-services.json:目前我已经下载了&我到目前为止使用的那个在几个方面是不同的。

我的问题仍然存在,如果事情发生了变化,为什么我没有收到任何消息或通知失败。反讽是,在服务器上发送FCM消息时,我没有遇到任何故障。可能是邮件发送成功了吗?

另一个重要方面 - 我从Web服务器上的PHP页面发送FCM消息。我的思维过程使我产生了一种信念;因为我已经生成了SHA-1证书,所以它适用于设备。因此在FCM服务器和手持设备在SHA-1加密的帮助下建立信任。但是,由于真正的FCM消息是从我在Web服务器上运行的PHP页面发送的,所以我认为两者之间没有建立对我为FCM采购的服务器密钥的信任。因此,消息可能无法传递给预期的接收者。这个思维过程是否正确?

我还没有测试,但是有新的google-services.json文件与FCM工作的可能性有关吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,但它值得与所有人分享。

我创建了简单的FCM应用。在那里,我已经使用相同的代码验证了我可以通知目标设备。 然后我集成了Firebase Phone Auth。相同......我可以通知目标设备。

所以这个测试总结说,设置必须与设置应用程序的方式有所不同。 在我使用的原始应用程序中 - 应用程序gradle - 火力-AUTH:11.0.0 火力核心:11.0.0 火力的消息:10.2.6 项目gradle - 谷歌服务:3.0.0

现在,在我今天开发的新应用程序中 - 应用程序gradle - 火力-AUTH:11.0.0 火力核心:11.0.0 火力的消息:11.0.0 项目gradle - 谷歌服务:3.1.0

因此,在最初的App gradle配置中,我更改了设置以匹配我最近开发的设置。然后它就像幸福一样。

我的学习是,如果您使用的是最新版本的Firebase库,则应提升剩余firebase组件的库。 由于我最近合并了Firebase Phone Auth,因此使用了firebase-auth:11.0.0,但并没有太多关注firebase-messaging。 至少我没有遇到任何要求提升库版本的文档。如果Google-Firebase中的任何人阅读此帖子,我请求他们将此部分包含在文档中。