0

私はアンドロイドが初めてで、アプリでプッシュ通知を開発しようとしています。

非常に多くの投稿を読んで、デバイス登録キーと認証キーを生成できました。

しかし、プッシュ通知メッセージをデバイスに送信しようとすると、次のメッセージが表示されました。

<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>

以下は、メッセージを送信するために使用しているphpコードです。

function sendMessageToPhone($authCode, $deviceRegistrationId, $msgType, $messageText) {

$headers = array('Authorization: GoogleLogin auth=' . $authCode);
$data = array(
    'registration_id' => $deviceRegistrationId,
    'collapse_key' => $msgType,
    'data.message' => $messageText //TODO Add more params with just simple data instead           
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://android.apis.google.com/c2dm/send");
if ($headers)
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);


$response = curl_exec($ch);

curl_close($ch); 

echo "<pre>";
print_r($response); die;

}

sendMessageToPhone($auth_token, $device_id , "UTF-8","hello");

また、認証トークンの生成に使用した email による「Google Cloud Messaging for Android」サービスを有効にしました。

4

1 に答える 1

1

G2DM で作業しようとしたため、これは間違った方法です。G2DM は非推奨です。

これは GCM の優れたチュートリアルです。プッシュ通知は30分で設定できます。http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

于 2013-02-06T08:19:40.297 に答える