Реализация Pushnotification Server

Недавно я включил FCM в мою последнюю версию приложения, но моя предыдущая версия приложения использовала GCM. Любые идеи о том, нужно ли нам изолировать запись фонового cron для GCM и FCM ?.

Моя предыдущая версия MY App 4.0 и используемая GCM и текущая версия My App 4.1 и интегрировали FCM. Я хочу отправить pushnotification как для версии, так и для пользователей. Итак, нужно ли нам правильно писать серверную программу для GCM и FCM ?. Любые идеи об этой интеграции.

API-интерфейс сервера FCM: https://fcm.googleapis.com/fcm/send Интерфейс стороны сервера GCM: https://android.googleapis.com/gcm/send

Любые другие возможности можно отправить уведомление по программе FCM Server? или отдельно нужно написать программу для GCM и FCM ?.

Пример кода для FCM в PHP

<?php function sendFCM($mess,$id) { $url = 'https://fcm.googleapis.com/fcm/send'; $fields = array ( 'to' => $id, 'notification' => array ( "body" => $mess, "title" => "Title", "icon" => "myicon" ) ); $fields = json_encode ( $fields ); $headers = array ( 'Authorization: key=' . "AIzaSyA9vpL9OuX6moOYw-4n3YTSXpoSGQVGnyM", '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 ); curl_close ( $ch ); } ?> 

FCM по-прежнему совместим с GCM, поскольку он является основным. Поэтому переход на конечную точку FCM ( https://fcm.googleapis.com/fcm/send ) при отправке вашего уведомления должен по-прежнему работать для ваших версий приложений с GCM. Не нужно писать отдельные программы.

У меня есть рабочий код в моем проекте, вы можете попробовать его с помощью Firebase google: Firebase Tutorial

  $notification_send ="Message to be sent"; $server_key = '****************************';//Authorization Key $client = new Client(); $client->setApiKey($server_key); $client->injectGuzzleHttpClient(new \GuzzleHttp\Client()); $message = new Message(); $message->setPriority('high'); $message->addRecipient(new Topic('test')); $message ->setNotification(new Notification('Reislivsmessen', $notification_send )) ->setData(['key' => 'value']); $response = $client->send($message); 

Вы должны создать тему, здесь это «тест».

Надеюсь, это сработает и для вас.