我们的目标是从后端向设备组发送通知,并且只有从服务器端知道哪个设备应该接收通知。
我们已经对AppCenter进行了一些尝试,因为我们主要使用Xamarin iOS / Android / Forms,但是现在我们怀疑直接使用Firebase API可能会更好,因为它更广泛,功能更强大。
我看到使用新版本的API(HTTP V1)无法将通知发送到令牌列表,而使用registration_ids参数(https://firebase.google.com/docs/cloud-messaging / send-message)。
设备组名称(仅旧协议)
我无法使用主题,因为服务器在发送通讯时是为通知准备“邮件列表”的责任。
我当时在考虑使用设备组消息传递(https://firebase.google.com/docs/cloud-messaging/android/device-group),但是这些都是旧版api的一部分,我不确定是否有意义/可以在新版本的API中使用它们。
是否可以发送一批100-200-500推送通知,每个通知仅发送给一个令牌?从理论上讲,可以发送的通知没有限制,但是我担心发送过多的通知可能会被禁止。
使用旧版API更好吗?另外,AppCenter(Microsoft)也使用旧版API,这很明显是因为设置的工作方式,并且因为可以从AppCenter的控制台发送通知到令牌列表,而Firebase的控制台不提供此功能。
另一个人只是问了类似的问题,但答案是使用主题(如何一次为所有用户发送Firebase通知?)。
push-notification firebase firebase-cloud-messaging visual-studio-app-center
我可以使用下面的 CURL 请求使用 Firebase Messaging 发送通知。我当前正在使用 OAuth 2.0 Playground 来获取访问令牌。我需要实现一个 PHP 脚本来执行此操作。如何在 PHP 中以编程方式生成访问令牌?
curl -X POST -k -H 'Authorization: Bearer access_token_goes_here' -H 'Content-Type: application/json' -i 'https://fcm.googleapis.com/v1/projects/projectId/messages:send' --data '{
"message":{
"topic" : "newTopic",
"notification" : {
"body" : "This is a Firebase Cloud Messaging Topic Message!",
"title" : "FCM Message"
}
}
}
Run Code Online (Sandbox Code Playgroud)