我有一个通过Firebase提供消息功能的应用程序。它在应用程序中工作,我有一个火力观察器设置来实时获取新消息。我不知道该怎么做的是在该观察者下触发推送通知。
我已经在我的应用中实施了 Firebase 云消息传递功能,以便我可以向我的主机发送通知,但无法找到适用于 iOS 的资源,或者不仅仅局限于使用控制台发送一条消息的资源。
我知道这是一个广泛的问题,它可能会被标记为"题外话",但如果我可以被引导到更多相关资源,我将不胜感激!
有一个 API 用于使用 Firebase Cloud 消息传递发送消息。与其在这里重复,我建议您查看 FCM 服务器文档。它基本上采用HTTP POST请求的形式,例如文档中的此示例:
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1 Content-Type: application/json Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA { "message":{ "token" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification" : { "body" : "This is an FCM notification message!", "title" : "FCM Message", } } }
要向设备发送消息,您需要指定所谓的 FCM 服务器密钥。顾名思义,此密钥只能在受信任的环境中使用,例如您控制的服务器、您的开发计算机或适用于 Firebase 的 Cloud Functions。这样做的原因是,拥有您的 FCM 服务器密钥的人可以向您应用的所有用户发送无限制的消息。
还有一个Firebase管理员SDK,可以更轻松地调用FCM服务器API在其支持的平台上发送消息。有关此选项的更多信息,请参阅 FCM 管理员 SDK 文档。这会将上述内容变成这样(在 Node.js 上(:
admin.messaging().send({
"message":{
"token" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification" : {
"body" : "This is an FCM notification message!",
"title" : "FCM Message",
}
}
})
你可以用邮递员或类似的东西发送它。 你必须做 POST 请求才能https://fcm.googleapis.com/fcm/send
设置标题:
Content-Type: application/json
Authorization: key=<legacy_server_key or server_key>
它必须看起来像
授权:key=AAAAwrVC26k:APA91bHz_ZRBjyoyevnVi0oey8yO_om9av_-YeUq........
和通知正文:
{
"to" : "YOUR_FCM_TOKEN_WILL_BE_HERE",
"collapse_key" : "type_a",
"notification" : {
"body" : "Body of Your Notification",
"title": "Title of Your Notification"
},
"data" : {
"body" : "Body of Your Notification in Data",
"title": "Title of Your Notification in Title",
"key_1" : "Value for key_1",
"key_2" : "Value for key_2"
}
}