【问题标题】:Firebase payload json for cross platforms are not working跨平台的 Firebase 有效负载 json 不起作用
【发布时间】:2021-02-12 02:18:57
【问题描述】:

我正在使用 Firebase 在 iOS 和 Android 设备上发送消息。我关注了谷歌的文档,但它仍然无法正常工作。

https://firebase.google.com/docs/cloud-messaging/concept-options

在文档中,他们举了一个例子

{
  "message":{
     "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
     "notification":{
       "title":"Match update",
       "body":"Arsenal goal in added time, score is now 3-0"
     },
     "android":{
       "ttl":"86400s",
       "notification"{
         "click_action":"OPEN_ACTIVITY_1"
       }
     },
     "apns": {
       "headers": {
         "apns-priority": "5",
       },
       "payload": {
         "aps": {
           "category": "NEW_MESSAGE_CATEGORY"
         }
       }
     },
     "webpush":{
       "headers":{
         "TTL":"86400"
       }
     }
   }
 }

我用我的 Firebase 配置替换了这个示例的一些占位符,然后我运行 Postman,它返回了 400 bad Request

{
  "message":{
     "token":"dRnhMNngY02mofqQ-5no8K:APA91bEcaaZ3QBWTdZfN3hU1tJzy6_ChW4FMArXbbWvT-8wq11TDN2jLy7uaT-Wzjq_xAzPqZfVje5_n54pVLnCfUUPTp_EuS3CykGnysHO0BeJn0TEgP-czc_y2kdyVMW-39mlSh8-t",
     "notification":{
       "title":"Match update",
       "body":"Arsenal goal in added time, score is now 3-0"
     },
     "android":{
       "ttl":"86400s",
       "notification": {
         "click_action":"OPEN_ACTIVITY_1"
       }
     },
     "apns": {
       "headers": {
         "apns-priority": "5"
       },
       "payload": {
         "aps": {
           "category": "NEW_MESSAGE_CATEGORY"
         }
       }
     },
     "webpush":{
       "headers":{
         "TTL":"86400"
       }
     }
   }
}

但是当我改变它时。将 to & notification 设置为 json 的第一级。我的 iOS 设备显示了一条通知。

{
  "to": "dRnhMNngY02mofqQ-5no8K:APA91bEcaaZ3QBWTdZfN3hU1tJzy6_ChW4FMArXbbWvT-8wq11TDN2jLy7uaT-Wzjq_xAzPqZfVje5_n54pVLnCfUUPTp_EuS3CykGnysHO0BeJn0TEgP-czc_y2kdyVMW-39mlSh8-t",
  "notification": {
    "title": "Match update",
    "body": "Arsenal goal in added time, score is now 3-0"
  }"message": {
    "token": "dRnhMNngY02mofqQ-5no8K:APA91bEcaaZ3QBWTdZfN3hU1tJzy6_ChW4FMArXbbWvT-8wq11TDN2jLy7uaT-Wzjq_xAzPqZfVje5_n54pVLnCfUUPTp_EuS3CykGnysHO0BeJn0TEgP-czc_y2kdyVMW-39mlSh8-t",
    "notification": {
      "title": "Match update",
      "body": "Arsenal goal in added time, score is now 3-0"
    },
    "android": {
      "ttl": "86400s",
      "notification": {
        "click_action": "OPEN_ACTIVITY_1"
      }
    },
    "apns": {
      "headers": {
        "apns-priority": "5"
      },
      "payload": {
        "aps": {
          "category": "NEW_MESSAGE_CATEGORY"
        }
      }
    },
    "webpush": {
      "headers": {
        "TTL": "86400"
      }
    }
  }
}

我不知道为什么 Google 的 Firebase 示例不起作用?此外,我尝试发送到我的 Android 设备,它显示“InvalidRegistration”消息,但是当我测试在https://console.firebase.google.com -> Cloud Messaging -> Compose 通知中发送消息时。我粘贴了用于测试 Android 的相同令牌,并且它有效...

真的很困惑?!

我找到了几篇文章并进行了测试,但它确实对我有用。我只想拥有一个适用于 iOS 和 Android 的 json 文件结构(还需要将两种类型的消息发送为:通知和数据)

谁能帮我解决这个问题?

非常感谢,

【问题讨论】:

    标签: android ios firebase firebase-cloud-messaging


    【解决方案1】:

    只想提出这个问题,不要错过

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 2023-03-14
      • 2015-08-07
      • 2012-12-19
      • 1970-01-01
      • 2018-02-21
      • 2012-08-24
      • 2015-02-11
      相关资源
      最近更新 更多