我被分配了一个使用Firebase来实现推送通知的任务,但我有点新的。
查看文档:
https://firebase.google.com/docs/notifications/android/console-audience
我不知道在什么情况下我应该使用send to user segment
或send to a topic
。
有人可以给我一些例子,何时使用其中一个并指出差异?提前谢谢:)
答案 0 :(得分:6)
用户细分
选择邮件目标。该对话框根据您是选择应用程序/应用程序版本,设备语言还是受众中的用户显示进一步优化目标的选项。
您可以定位预定义的用户细分或在Firebase Analytics中创建的自定义audiences 。
<强>主题强>
恕我直言,如果你想让事情变得简单快捷,请使用Topic Messaging。 子>
答案 1 :(得分:3)
使用用户分段
使用主题
答案 2 :(得分:0)
首先,您必须为要发送通知的每个设备保存令牌,我已将其保存在桌面呼叫中&#34; FCM_TOKEN&#34;,然后检索令牌(我&#39; m使用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_close($ curl_session); 这对我来说很好。