Firebase通知-发送到用户段与发送到主题的区别
我被指派了一项任务,使用Firebase来实现推送通知,但我是一个新手 查看文档:Firebase通知-发送到用户段与发送到主题的区别,firebase,push-notification,firebase-cloud-messaging,firebase-notifications,Firebase,Push Notification,Firebase Cloud Messaging,Firebase Notifications,我被指派了一项任务,使用Firebase来实现推送通知,但我是一个新手 查看文档: https://firebase.google.com/docs/notifications/android/console-audience 我不知道在什么情况下应该使用send to user segment或send to a topic 有人能给我举个例子,说明什么时候该用其中一个,什么时候该用另一个,并指出区别吗?谢谢你:) 使用用户分段 通常将推送通知发送到特定且有限的一组设备 消息传递几乎是即时
https://firebase.google.com/docs/notifications/android/console-audience
我不知道在什么情况下应该使用send to user segment
或send to a topic
有人能给我举个例子,说明什么时候该用其中一个,什么时候该用另一个,并指出区别吗?谢谢你:)
使用用户分段
- 通常将推送通知发送到特定且有限的一组设备
- 消息传递几乎是即时的(以我的经验)。此外,我还没有观察到之前GCM的节流情况
- 主题或发布/订阅机制用于相对较大的受众,信息类型为公共。例如天气和新闻
- 主题有延迟(可能会限制邮件传递)
- 您只能通过向用户段发送通知。(见附件)
- 仅限于特定目标(从您链接的目标): 选择消息目标。该对话框根据您选择的是应用程序/应用程序版本、设备语言,还是受众中的用户,显示进一步的选项以优化目标
- 正如您链接的文章中已经提到的: 您可以针对预定义的用户群或在Firebase Analytics中创建的自定义用户群
- 不一定需要令牌/设备管理
- 用户数量不限
- 可以使用FCM API发送到主题
- 可以通过客户端应用轻松订阅/取消订阅
- 用户群体
依咪浩,如果你想让事情变得简单快捷,那就用主题信息吧 首先,您必须为每个要向其发送通知的设备保存令牌,我已将它们保存在表调用“FCM_TOKEN”中,然后检索令牌(我使用PDO)并使用while循环发送它们,如下所示:
while($row=$statement->fetch(PDO::FETCH_BOTH))
{
$key = $row['Fcm_Token'];
$headers = array(
'Authorization:key=' .$server_key,
'Content-Type:application/json');
$fields = array('to'=>$key,
'notification'=>array('title'=>$titulo, 'body'=>$mensaje,
'click_action'=>'com.example.witch.gtslsac_app_1_TARGET_NOTIFICATION'
));
$playload=json_encode($fields);
$curl_session = curl_init();
curl_setopt($curl_session, CURLOPT_URL, $path_to_fcm);
curl_setopt($curl_session, CURLOPT_POST, true);
curl_setopt($curl_session, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_session, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $playload);
$result = curl_exec($curl_session);
echo $result;
}
不要忘记关闭会话curl\u close($curl\u session);
这对我来说很好。我总是使用主题消息,因为它节省了很多时间。一旦用户登录,我就向用户订阅他的用户id,并且每当我必须从服务器向该用户发送推送通知时,我只会发布他的用户id的消息。我希望这是完美的rt?@Praveena Topics用法是首选。我认为您的用例没有任何问题。所以我觉得没关系。请注意,主题是公共的,任何其他令牌都可以订阅它。实际上,这是
主题是公共的,任何其他令牌都可以订阅它。
非常重要,我错过了它。谢谢