サーバーから受信する新しいデータがあるときに、Google クラウド メッセージングを使用してユーザーに通知しようとしています。GCM を使用したメッセージの送信は、次のように定義されます。
To send a message, the application server issues a POST request to https://android.googleapis.com/gcm/send.
この HTTP POST リクエストを Android アプリケーションから送信することはできますか? MongoLab がホストするサーバーへの POST に成功した方法を使用して、これを実装しようとしました。私の試みは次のとおりです。
input_json.put("registration_ids", RegistrationIDs);
input_json.put("data", data);
param = new StringEntity(input_json.toString());
HttpParams httpParams = new BasicHttpParams();
int some_reasonable_timeout = (int) (20 * DateUtils.SECOND_IN_MILLIS);
HttpConnectionParams.setConnectionTimeout(httpParams, some_reasonable_timeout);
HttpConnectionParams.setSoTimeout(httpParams, some_reasonable_timeout);
HttpClient httpClient = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost(url);
request.setEntity(param);
request.setHeader("Content-type", "application/json");
request.setHeader("Authorization", API_KEY);
HttpResponse response = httpClient.execute(request);
StatusLine status = response.getStatusLine();
if (status.getStatusCode() == HttpStatus.SC_OK){
ResponseHandler<String> responseHandler = new BasicResponseHandler();
result = responseHandler.handleResponse(response);
}
HTTP エラーや gcm サーバーからの応答を受信しないため、ここからどこに移動すればよいかわかりません。ご協力いただきありがとうございます。