相关疑难解决方法(0)

使用 v1 API 中的 cURL 将 Push FCM 发送到多个设备

我需要将 FCM 推送通知发送到多个设备。我不能为此使用“主题”,因为我需要将其发送到特定的和多个令牌。

在旧方法中,我使用“register_ids”来实现此目的,但 Google 在 2023 年 6 月 20 日宣布,旧方法将于 2024 年 6 月 20 日结束。在新的 v1 API 中,不再支持“register_ids”。

我需要的是一个使用 cURL 和 PHP 向多个令牌发送推送通知的解决方案。

在这个网站上,有人问了和我类似的问题:

FCM 批量消息 URL

@Frank van Puffelen 说:

在这个新的版本化 API 中,您可以通过向常规端点发送多部分请求来发送多条消息。此过程在有关发送批量消息的部分中有完整记录,并且大多数可用的管理 SDK 也支持该过程.

Frank von Puffelen 提供了一个链接:

https://firebase.google.com/docs/cloud-messaging/send-message#send-a-batch-of-messages

然而,现在该网站上有一条说明:

本节中描述的批量发送方法已于 2023 年 6 月 21 日弃用,并将于 2024 年 6 月删除。相反,请通过实现您自己的批量发送逻辑、迭代收件人列表发送到每个收件人的令牌。对于 Admin SDK 方法,请确保更新到下一个主要版本。

在该网站的更上方,有一个标题为“向多个设备发送消息”的部分。但是,本节仅提供 Node.js、Java、Python、Go、C# 和 REST 的解决方案。我需要 PHP 和 cURL 的解决方案。

到目前为止我已经尝试过如下,但由于架构错误而无法正常工作:

$tokens = array(
"token 1", …
Run Code Online (Sandbox Code Playgroud)

curl firebase firebase-cloud-messaging

5
推荐指数
1
解决办法
3719
查看次数

在 C# 中使用 FCM 发送批量推送通知?

我正在编写 ac# 服务,它将允许我使用 FCM 发送推送通知。现在,一切正常,但我想使用 FCM 发送批量推送通知。

我希望能够一次向多个设备发送相同的消息。当前取一个注册令牌,然后经过整个过程,然后转到下一个。但是,如果我必须一次向多个号码发送推送通知,这将毫无用处。我最好的选择应该是什么?

代码

   public String SendPushNotification(string regtoken)
    {


            try
            {

                string applicationID = "#############3";

                string senderId = "##########";

                string deviceId = regtoken;
                WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
                tRequest.Method = "post";
                tRequest.ContentType = "application/json";
                var data = new
                {
                    to = deviceId,
                    notification = new
                    {
                        body = message,
                        title = "",
                        sound = ""

                    }
                };
                var serializer = new JavaScriptSerializer();
                var json = serializer.Serialize(data);
                Byte[] byteArray = Encoding.UTF8.GetBytes(json);
                tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
                tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); …
Run Code Online (Sandbox Code Playgroud)

c# firebase firebase-cloud-messaging

2
推荐指数
1
解决办法
6651
查看次数

标签 统计

firebase ×2

firebase-cloud-messaging ×2

c# ×1

curl ×1