Я разработал веб-сайт с использованием php и mysql. Я хочу отправить уведомление на устройство Android для каждого сообщения, которое загружается на мой сайт.
Можно ли отправлять уведомления с использованием GCM Server? Если да, то как я могу отправить уведомление обо всех устройствах, на которых установлено приложение для Android?
Прежде всего следуйте за внедрением GCM Client и внедрите gcm-клиент в свое приложение для Android.
Для GCM Server в php вы можете реализовать его следующим образом. Отредактируйте свой код в соответствии с вашими потребностями, например, его код при публикации публикации. Для получения дополнительной информации о внедрении GCM Server перейдите к Реализация GCM Server
<?php // Replace with the real server API key from Google APIs $apiKey = "your api key"; // Replace with the real client registration IDs $registrationIDs = array( "reg id1","reg id2"); // Message to be sent $message = "Your message eg the title of post"; // Set POST variables $url = 'https://android.googleapis.com/gcm/send'; $fields = array( 'registration_ids' => $registrationIDs, 'data' => array( "message" => $message ), ); $headers = array( 'Authorization: key=' . $apiKey, 'Content-Type: application/json' ); // Open connection $ch = curl_init(); // Set the URL, number of POST vars, POST data 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, json_encode( $fields)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_POST, true); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields)); // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); // print the result if you really need to print else neglate thi echo $result; //print_r($result); //var_dump($result); ?>
Существует также хорошее сообщение Android Push Notifications для новичков.
Я решил опубликовать ответ на свой вопрос
Теперь Google представил FCM
<?php define('API_ACCESS_KEY','Api key from Fcm add here'); $fcmUrl = 'https://fcm.googleapis.com/fcm/send'; $token='235zgagasd634sdgds46436'; / $notification = [ 'title' =>'title', 'body' => 'body of message.', 'icon' =>'myIcon', 'sound' => 'mySound' ]; $extraNotificationData = ["message" => $notification,"moredata" =>'dd']; $fcmNotification = [ //'registration_ids' => $tokenList, //multple token array 'to' => $token, //single token 'notification' => $notification, 'data' => $extraNotificationData ]; $headers = [ 'Authorization: key=' . API_ACCESS_KEY, 'Content-Type: application/json' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$fcmUrl); 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($fcmNotification)); $result = curl_exec($ch); curl_close($ch); echo $result;