如何在firebase中获取网站的gcm_sender_id

时间:2017-02-14 11:25:53

标签: javascript firebase firebase-cloud-messaging

我正在尝试为我的网站使用推送通知..

我正在尝试fcm。在google文档(https://firebase.google.com/docs/cloud-messaging/js/client)中,他们告诉我们在mnifest.json文件中使用gcm_sender_id,但我在firebase页面https://console.firebase.google.com/project/fir-98798789/overview

中找不到任何地方

他们也提到了

  

请勿将“浏览器发件人ID”与Firebase项目设置中显示的项目特定发件人ID值混淆。 manifest.json的浏览器发件人ID是固定值,在所有FCM JavaScript客户端中都很常见。

谢谢,

3 个答案:

答案 0 :(得分:26)

您在网络应用的manifest.json中输入的发件人ID与您的Firebase项目无关。对于所有网络应用程序(您的,我的,每个人)都是一样的:

"gcm_sender_id": "103953800507"

所以只需将上面的行复制/粘贴到项目的manifest.json中即可。请参阅this section of the FCM documentation

答案 1 :(得分:3)

即使您跳过此步骤,似乎Firebase Messaging确实可以正常工作。以https://web-push-demo-11213.firebaseapp.com为例。

该演示网站甚至没有清单,但能够与FCM进行对话,获取令牌,刷新令牌等。.很抱歉,由于您不知道,您将无法实际发送请求auth密钥,但是您知道了-我已经对其进行了测试,它可以正常工作。

鉴于此,虽然不确定为什么要这样做。

此外,在github上查看FCM SDK源代码,似乎只有在清单中带有gcm_sender_id而不是103953800507的清单时,它们才会抛出错误。对于其他所有内容(清单中的gcm_sender_id字段缺失,甚至网站上的清单本身缺失),它都可以正常工作。

在此处查看代码:https://github.com/firebase/firebase-js-sdk/blob/master/packages/messaging/src/controllers/window-controller.ts#L329-L355

答案 2 :(得分:0)

转到https://console.firebase.google.com->选择您的项目。

设置-> Cloud Messaging -> 项目凭据-> 发件人ID

希望有帮助!