Я - нативный разработчик для создания ios приложения.
Я борюсь с реализацией получения удаленных уведомлений с помощью fcm.
Наш бэкэнд-разработчик использует php, а также он android разработчик.
Таким образом, способ, которым он разработал API для fcm, оптимизирован до android.
Вот код.
function sendFCM($notif_array, $id) {
$API_KEY = "API key";
$url = 'https://fcm.googleapis.com/fcm/send';
$keys = array_keys($notif_array);
$fields = array (
'registration_ids' => array (
$id
),
// 'data' => array (
// "message" => $message,
// "type" => $notif_type
// )
'content_available'=>true,
'priority'=>'high',
'data' => $notif_array,
'notification'=>array(
"body"=>$notif_content
)
);
$fields = json_encode ( $fields );
$headers = array (
'Authorization: key=' . $API_KEY,
'Content-Type: application/json'
);
$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_POSTFIELDS, $fields );
$result = curl_exec ( $ch );
echo $result;
curl_close ( $ch );
}
I ' Мы уже зарегистрировали ключ APN на консоли Firebase и протестировали его. Он работает хорошо.
Я получаю тестовое облачное сообщение от firebase хорошо.
Как вы знаете, есть несколько функций на Resact-native-Firebase, связанных с уведомлением
firebase.notifications().onNotification(notif => console.log(notif))
firebase.notifications().onNotificationDisplayed(notif => console.log(notif))
...
...
firebase.messaging().onMessage(message => console.log(message))
но сейчас работает только функция onMessage.
Я полагаю, что сервер fcm дает только данные, а не уведомления.
Если есть кто-то, кто знаком с php, не могли бы вы проверить это php код, если он правильный или нет?
Спасибо!