РЕДАКТИРОВАНИЕ. Решено в конце поста.
Я пытаюсь обновить GCM
в FCM
и все работает отлично, но связь с Firebase API.
В GCM
Я отправил этот код от моего PHP
сценарий:
define( 'API_ACCESS_KEY', 'myapikeynumber');
$registrationIds = array($registrationID);
$msg = array
(
'message' => $message,
'title' => 'You have new notification(s)',
'subtitle' => 'Please click to view your notification(s)',
'user_id' => $user_id,
'user_type' => $user_type,
'notification_id' => $notification_id
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg,
'time_to_live' => 3
);
$headers = array
(
'Authorization: key='.API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
curl_setopt( $ch,CURLOPT_POST, true);
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
Но теперь не знаю, какие поля или значения мне нужно отправить на https://fcm.googleapis.com/fcm/send
,
Любая помощь?
РЕШЕНИЕ
Проблема была здесь:
$registrationIds = array($registrationID);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg,
'time_to_live' => 3
);
Так как $registrationsIds
не было структуры JSON.
Так что код почти такой же, просто измените его и URL-адрес API на https://fcm.googleapis.com/fcm/send
,
Задача ещё не решена.
Других решений пока нет …