AndroidメッセージプッシュのGCM方式(二)
2034 ワード
<宣言>
転載は本出所住所を保留してください:
http://blog.csdn.net/wzg_1987/article/details/9148023
前節では,GCM方式の実装前に必要な準備作業とメッセージ受信の実装について述べた.
この節では,メッセージ送信の実装について述べる.
前節でも述べたように、GCM方式は実際には厳格なクライアントとサービス端を区別していないが、開発者にとって、どちらもクライアントまたはサービス端であり、構築された環境が2つの端の要求を満たす限りである.すなわち、ユーザにとっては、送信者であっても受信者であってもよい.これにより、GCM方式は広告をプッシュするだけでなく、インスタントチャットにも使えます.しかし、GCMに限られる様々な欠陥は、インスタントチャットに使うのが最善の方法ではない.(メッセージプッシュの様々なシナリオの比較と選択については、私の別のブログhttp://blog.csdn.net/wzg_1987/article/details/9150945を参照できます)
まず、4つのパッケージをインポートする必要があります.GCMのサービスパッケージをダウンロードした場合(ダウンロード方法は前の準備作業に関する内容を参照)、sdkインストールディレクトリ/extrats/google/gcmフォルダの下のgcm-serverプロジェクトで、libフォルダのjson-simpleXX.jar、junit.jar、mockito-all-X.jar、distフォルダのgcm-server.jarをプロジェクトに追加します.junitはそれを使わなくてもいいです.それはgcmコードの内部でユニットテストをして使っています.
次にmain関数を書いてメッセージを送信します.
public static void main(String[] args) {
Sender sender = new Sender(apiKey);
Message message = new Message.Builder().addData("mine", "test2").build();
Result result = null;
try {
result = sender.send(message, deviceRegId, 5);
System.out.println(result.getMessageId());
} catch (IOException e) {
e.printStackTrace();
}
}
ここで、apiKeyは、メッセージ送信者の正当性を検証するために、Google apiコンソールページで生成された文字列(前節で説明した)です.
デバイスRegIdはクライアントによって生成されます.クライアントが登録を完了したら、GCRregistrationId()を呼び出して取得し、サーバに送信して保存する必要があります.
このように簡単に、sendの他のリロード方法を使用して、複数の登録idにメッセージを送信することもできます.
以上は、サービス側がメッセージを送信する簡単な実装である.
クライアントコード:http://download.csdn.net/detail/wzg_1987/5662225
サービス側コード:http://download.csdn.net/detail/wzg_1987/5669419