Я пытаюсь перенести свое приложение из службы C2DM в новое push-уведомление GCM. Я успешно интегрировал класс GCMIntentService, который расширяет GCMBaseIntentService. Когда я отправляю push-уведомление с сервера с помощью PHP, GCM отправляет данные сообщения в виде объекта JSON. Я использую следующий код в своей службе Android GCM и возвращает нулевое значение с новым кодом.
public void onMessage(Context context, Intent intent)
{
String action = intent.getAction();
if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
message=intent.getStringExtra("message");
createNotification(context);
}
}
PHP-скрипт содержит:
$headers = array('Авторизация: ключ=' . $apiKey, 'Тип контента: 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 ) );
Пожалуйста, предложите мне, какие изменения мне нужны в моем PHP-скрипте для отправки push-уведомления с использованием библиотек GCM и без JSON.
Заранее спасибо Тим