如何使用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" } }