【问题标题】:Dynamic Firebase SenderID for Android Push Notification用于 Android 推送通知的动态 Firebase SenderID
【发布时间】:2020-01-14 21:06:44
【问题描述】:

我有一个带有 Firebase 的 react-native 应用程序,它在构建时不使用 google-services.json,然后在应用程序运行后手动调用 FirebaseApp.initializeApp() 在我的 google-services.json 中传递正确的值。 但在这种情况下,我无法为 Android 用户发送推送通知,因为 SenderID 不在 google-services.json 上,有一些 Firebase 函数可以知道我的 SenderID 吗?或者是另一种在没有 SenderID 的情况下以 react-native 在 Android 上发送推送通知的方法?

【问题讨论】:

  • 发送者 ID 和设备令牌之间存在区别,发送者 ID 就像您的 FCM 的 API 凭据,设备令牌用于在设备上发送或接收令牌您的问题听起来像是在询问设备令牌但你提到了senderID,请清楚。

标签: android firebase react-native react-native-android sender-id


【解决方案1】:

没有其他办法,使用 google-services.json 是强制性的,因为它包含您所有的 API 凭据。

SenderID 是必需的,因为 firebase 通知使用 firebase 云消息传递,并且如果没有包含所有 API 凭据(包括 senderID)的正确 google-services.json 文件,该通知将无法工作。

是的,您可以从 firebase 项目设置中获取您的 senderId,您也可以在此处阅读。 https://dev.tapjoy.com/en/faq/how-to-find-sender-id-and-api-key-for-gcm.

如果您谈论的是设备令牌,则必须生成它们,它们是在有限的时间段内生成的,并且它们是每个设备的唯一令牌。你可以使用任何库来生成这些令牌,我推荐使用这个库https://www.npmjs.com/package/react-native-push-notification

【讨论】:

    【解决方案2】:

    可以在 google-services.json 的顶部找到推送发件人 ID 查找项目编号

    google-services.json
    {
       "project_info": {
       "project_number": "123456789",     <-- Sender ID -->
       "firebase_url": "https://blah-blau-app.firebaseio.com",
       "project_id": "blah-blau-app",
       "storage_bucket": "blah-blau-app.appspot.com"
    },. . . 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多