#android #symfony #push-notification #google-cloud-messaging
#Android #symfony #push-уведомление #google-cloud-messaging
Вопрос:
У меня есть приведенный ниже код для отправки push-уведомлений GCM. Все работает нормально. Теперь я только что добавил его в действие symfony, но когда я запрашиваю действие, push-уведомление никогда не отправляется.
После запроса действия на моем локальном хосте счетчик загрузки внутри вкладки поворачивается и поворачивается .., а на моем удаленном хосте я получаю ошибку 500, но я не могу найти никакой ошибки в журналах Apache или symfony logs.
У меня такая же проблема с использованием этого пакета: https://github.com/richsage/RMSPushNotificationsBundle
Любая помощь?
$message = "the test message";
$tickerText = "ticker text message";
$contentTitle = "content title";
$contentText = "content body";
$registrationId = 'abcdef...';
$apiKey = "1234...";
$headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . $apiKey);
$data = array(
'data' => $messageData,
'registration_ids' => $registrationIdsArray
);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch, CURLOPT_URL, "https://android.googleapis.com/gcm/send" );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data) );
$response = curl_exec($ch);
curl_close($ch);
return $response;
Комментарии:
1.
$registrationIdsArray
и$messageData
не существует. Это опечатка?2. @dbrumann Да, произошла опечатка. Теперь он работает, спасибо!
Ответ №1:
$MessageData и $ registrationIdsArray не существуют. и проверьте, является ли ключ api ключом api браузера.
Комментарии:
1. и, пожалуйста, не предоставляйте ключ api и регистрационный идентификатор, когда вы размещаете код в Сети. Есть вероятность, что он может быть использован неправильно. Вы можете отредактировать сообщение и удалить код api..