Сообщение Google Cloud Message (GCM), отправленное android, является ошибкой недействительной регистрации

#php #android #curl

#php #Android #завиток

Вопрос:

Я создаю приложение с облачным сообщением Google (GCM) следуйте статье android, например, создайте приложение для push-уведомления

Но у меня ошибка, когда я пытаюсь отправить уведомление на сервер Google с помощью CURL со ссылкой https://android.googleapis.com/gcm/send и какое-то поле в коде

  function send_push_notification($registatoin_ids, $message) {

    echo implode($registatoin_ids);
    echo implode($message);
    // Set POST variables
    $url = 'https://android.googleapis.com/gcm/send';

    $fields = array(
        'registration_ids' => $registatoin_ids,
        'data' => $message,
    );

    $headers = array(
        'Authorization: key=' . GOOGLE_API_KEY,
        'Content-Type: application/json'
    );
    //print_r($headers);
    // Open connection
    $ch = curl_init();

    //echo $ch;
    // 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);

    // Disabling SSL Certificate support temporarly
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

    // Execute post
    $result = curl_exec($ch);
    if ($result === FALSE) {
        echo ("RESULT ERROR :"   $ch);
        die('Curl failed: ' . curl_error($ch));

    }

    // Close connection
    curl_close($ch);
    echo $result;
}
 

Я получаю ошибку результата при попытке отправки
Ответ на ошибку

Итак, не могли бы вы, пожалуйста, помочь мне исправить или настроить отправку сообщения на сервер, я пытаюсь создать приложение для отправки уведомлений с сервера на устройство Android, большое спасибо.

PS: извините за мой английский, еще раз спасибо

Хуан

Ответ №1:

Учебное пособие, которое вы использовали, слишком старое.

Посмотрите здесь:

  GCMRegistrar.setRegisteredOnServer(context, true);
 

Этот класс устарел

На данный момент вы должны использовать Google Cloud Messaging