Я реализовал серверную часть FCM, серверная часть не доставляет - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь реализовать трансляцию темы php curl fcm, и она просто отображает {"message_id":4731721763997571462} и не доставляет.

Я прошел большой поиск, и без конца я не могу показатьсячтобы найти проблему.

// API access key from Google API's Console
define( 'API_ACCESS_KEY', 'Legacy_server_key' );

// prep the bundle
$msg = array
(
'message'   => 'here is a message. message',
'title'     => 'This is a title. title',

);
$fields = array
(
  'to'  => "/topics/hello",
  'notification'            => $msg
);

$headers = array
(
  'Authorization:key='. API_ACCESS_KEY,
  'Content-Type: application/json'
);

$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, "https://fcm.googleapis.com/fcm/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;

Я просто ожидаю получить уведомление на устройстве и, возможно, есть способ отследить успешные уведомления на консоли Google?

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Наконец, после долгих ужасов и попыток выяснилось, что поля массива были неправильными и должны были быть

$msg = array
(
    'body'   => $body,
    'title'=>$title
);
$data = array
(
    'to'  => "/topics/".$topic,

    'notification' => $msg
);
0 голосов
/ 02 октября 2019

Вам необходимо добавить регистрационные идентификаторы с параметром поля

// API access key from Google API's Console
    define( 'API_ACCESS_KEY', 'Legacy_server_key' );
    $registrationIds = array( "/topics/obajemusagmailcom" );
    // prep the bundle
    $msg = array
    (
    'message'   => 'here is a message. message',
    'title'     => 'This is a title. title',

    );
    $fields = array
    (
      //'to'  => "/topics/hello",
      'registration_ids' => $registrationIds,
      'notification'            => $msg
    );

    $headers = array
    (
      'Authorization:key='. API_ACCESS_KEY,
      'Content-Type: application/json'
    );

    $ch = curl_init();
    curl_setopt( $ch,CURLOPT_URL, "https://fcm.googleapis.com/fcm/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;

и $ registrationIds = array ("/ themes / obajemusagmailcom");не является регистрационным идентификатором какого-либо приложения, пожалуйста, исправьте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...