我正在尝试将我的应用程序从 C2DM 服务迁移到新的 GCM 推送通知。我已经成功集成了扩展 GCMBaseIntentService 的 GCMIntentService 类。当我使用 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('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 ) );
请建议我在我的 PHP 脚本中需要进行哪些更改才能使用 GCM 库而不使用 JSON 来发送推送通知。
提前感谢蒂姆