JavaScriptコードを介してgcmメッセージを送信したい. このために、json オブジェクトを投稿する必要があります。
URL および json オブジェクトの形式は、gcm ドキュメント ( http://developer.android.com/google/gcm/adv.html ) に記載されています。
テスト目的で、完全に機能する Java コードを作成しました。しかし、JavaScript コードは機能しません。サンプルの作業コード (gcm の JavaScript) があれば、投稿してください。
String body = "registration_id=proper_id&data.number=12345678";
byte[] bytes = body.getBytes();
HttpURLConnection conn = getConnection(url);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setFixedLengthStreamingMode(bytes.length);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
conn.setRequestProperty("Authorization", "key=" + key);
OutputStream out = conn.getOutputStream();
out.write(bytes);
JavaScript コード :
var http = new XMLHttpRequest();
var url = "https://android.googleapis.com/gcm/send";
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) { document.getElementById("target").innerHTML = http.responseText;
}
}
http.open("POST", url, false);
http.setRequestHeader("Content-type", "application/json");
http.setRequestHeader("Authorization", "key=proper_api_key");
var data = '{ "collapse_key": "qcall","time_to_live": 108, "delay_while_idle": true,"data": {"number":"12345678"},"registration_ids":["proper_id"]}';
http.send(data);