加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用api时未收到Firebase消息

发布时间:2020-12-13 17:00:54 所属栏目:PHP教程 来源:网络整理
导读:我使用 PHP使用Firebase API并使用JSON格式发送帖子数据.响应是给我message_id但消息未送达. 当我使用Firebase控制台而不是具有相同字段的API时,它已成功传递. 我的PHP代码: ?php$json_data = '{ "data": { "title": "Hey you got a message","text": "Hi f
我使用 PHP使用Firebase API并使用JSON格式发送帖子数据.响应是给我message_id但消息未送达.

当我使用Firebase控制台而不是具有相同字段的API时,它已成功传递.

我的PHP代码:

<?php

$json_data = '{ "data": { 
                  "title": "Hey you got a message","text": "Hi from firebase api"
                },"to": "/topics/all","priority": "high"
              }';

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
                                            'Content-Type: application/json','Authorization:key="Used my server key here"'
                                          ));
curl_setopt($ch,CURLOPT_POSTFIELDS,$json_data);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>

响应:

{"message_id":64666973642901*****}

PS:用星号隐藏信息.

更新:
当我将to字段设置为特定标记时,正在传递消息.但是当它被设置为主题/全部时不起作用.
有没有其他方式我们可以将它发送给所有与应用程序关联的人,就像在控制台中一样?

解决方法

我终于找到了.起初我们的应用程序不会包含任何主题,我们必须明确创建它们.

在您的应用中使用以下方法订阅主题

FirebaseMessaging.getInstance().subscribeToTopic(“NAME OF TOPIC”);

因此,要将其发送给所有应用程序用户,请使用上述方法使您的每个用户订阅特定主题.我用名字“all”创建了它.

现在将JSON HTTP POST请求中的字段设置为主题/主题名称或主题/所有情况.

注意:订阅主题时,如果该名称不存在主题,则会自动创建新主题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读