如何使用FireBase向iOS发送可执行的通知?

我们目前正在评估Firebase作为未来的推送通知服务。 有没有办法发送可操作的通知到iOS设备? 目前我们使用parse来发送推送,我们在有效载荷中设置“category”参数,并且通知的附加操作正在工作。 我们尝试在firebase控制台或通过firebase rest api设置此参数,但通知操作不起作用,似乎有效负载与iOS预期不同。

目前FCM控制台中不支持的类别,但仍然如果你想testing你可以使用curl后调用和testing。 您可以从您的服务器添加类别到您的有效载荷,并使用FCM API将通知推送到iOS。

curl --header "Authorization: key=<YOUR_SERVER_KEY>" --header Content- Type:"application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"Device Token\",\"priority\":\"high\",\"notification\": {\"title\": \"Shift Alert\",\"text\": \"Would you like to accept shift today 11:30 to 13:30 \",\"click_action\":\"INVITE_CATEGORY\"}}" 

授权:key = YOUR_SERVER_KEY确保这是服务器密钥,其值在Firebase项目控制台中的“项目设置”>“云消息传递”下可用。 Android,iOS和浏览器密钥被FCM拒绝。

INVITE_CATEGORY =您在代码中使用的类别

下面是响应字典,你将得到的行动点击:

 { aps = { alert = { body = "Would you like to accept shift today 11:30 to 13:30 "; title = "Shift Alert"; }; category = "INVITE_CATEGORY"; }; "gcm.message_id" = "0:12233487r927r923r7329"; } 

感谢马利克的答案。 FCM似乎将Android特定的“click_action”属性转换为iOS特定的“category”属性。

我们通过他们的REST API发送Firebase推送通知,这可以很容易地用于邮递员testing。

这是REST版本:

POST https://fcm.googleapis.com/fcm/send

头:

  • 授权:key = YOUR_FIREBASE_SERVER_KEY
  • 内容types:application / json

身体:

 { "notification": { "text": "YOUR_PUSH_TEXT", "click_action":"YOUR_IOS_ACTIONABLE_NOTIFICATION_CATEGORY" }, "to" : "YOUR_PUSH_TOKEN", "data": { "YOUR_CUSTOM_DATA": "DATA" } }