Мои приложения для Android могут получать FCM из консоли Firebase просто отлично, однако не с моего сервера приложений.Приложения для Android не получают уведомления FCM с моего сервера приложений
Вот мой фрагмент моего сценария php.
$target = 'device code';
$data = array('message' => 'Hello','title'=>'FCM Push Notifications');
function sendFCMMessage($data,$target){
//FCM API end-point
$url = 'https://fcm.googleapis.com/fcm/send';
$server_key = 'server key';
$fields = array();
$fields['data'] = $data;
$fields['priority'] = 'high';
if(is_array($target)){
$fields['registration_ids'] = $target;
}else{
$fields['to'] = $target;
}
//header with content_type api key
$headers = array(
'Content-Type:application/json',
'Authorization:key='.$server_key
);
//CURL request to route notification to FCM connection server (provided by Google)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Oops! FCM Send Error: ' . curl_error($ch));
}
curl_close($ch);
return $result;
}
$pn = sendFCMMessage($data,$target);
echo $pn;
, но я получил ответ на успех после запуска моего сценария, подобного этому ниже.
{
"multicast_id":4696016312851064849,
"success":1,
"failure":0,
"canonical_ids":0,
"results":[
{
"message_id":"0:1486632797062481%1749d09ff9fd7ecd"
}
]
}
добавить PHP флаг, так как большинство людей используют другие языки для разработки Android. я не знаю, как это работает, но, может быть, журнал должен помочь другим понять, что не так, и дать вам решение. –
Привет. При отправке сообщений из Консоли Firebase он будет обрабатываться как служебная информация. В вашем PHP-скрипте вы отправляете только полезную нагрузку сообщения «data». См. Разницу между двумя [здесь] (https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages). Возможно, вы обрабатываете сообщения «уведомления» только в своем клиентском приложении. Можете ли вы разместить свой Android-код? –
@AL. Спасибо ! Я не замечаю эту часть. Я нашел здесь свой ответ. –