0

http://developer.android.com/guide/google/gcm/gs.htmlから Google Cloud Messaging を使用してアプリケーションを実装しようとしています

Sender sender = new Sender(myApiKey);

                Message message = new Message.Builder()
                .collapseKey("1")
                .timeToLive(3)
                .delayWhileIdle(true)
                .addData("message", "message is created at builder")
                .build();

                Result result = sender.send(message, reGid, 5);
                System.out.println("result of message is "+result);

その結果、メッセージIDを取得し、コンソールから見ることができます; しかし、トーストでデバイスにメッセージを表示したいです。

GCMintentService.java:

@Override
protected void onMessage(Context arg0, Intent arg1) {
    Log.i(TAG, "new message= ");
    Toast.makeText(this, arg1.getStringExtra("message"), Toast.LENGTH_SHORT)
            .show();
}

GCM の高度なトピックから:

サードパーティのサーバーがメッセージを GCM に投稿し、メッセージ ID を受信した場合、そのメッセージがデバイスに既に配信されたことを意味するわけではありません。むしろ、それは配達が受け入れられたことを意味します。受け入れられた後にメッセージがどうなるかは、多くの要因によって異なります。最良のシナリオでは、デバイスが GCM に接続されていて、画面がオンで、スロットリングの制限 (スロットリングを参照) がない場合、メッセージはすぐに配信されます。

「デバイスはGCMに接続されています」という意味がわかりません。デバイスを GCM に接続し、インターネットに接続し、デバイスからアプリケーションを実行するにはどうすればよいですか?

4

2 に答える 2

2

すべての質問の回答を得るには、次のリンクをたどってください。

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

クライアントとサーバーを実装するだけです。私は自分の PC に実装し、実行中のコードを取得しました。
私はすでに PC からモバイルへのテストも行っています。

ソースコードが利用可能です。 ダウンロードして、いくつかの簡単な手順に従うだけです。

30 分以内にコードを実行できると思います。

お力になれて、嬉しいです !!

于 2012-11-30T06:56:26.417 に答える
2

GCM への接続は、いくつかの条件に依存します。

  1. デバイスはメッセージを受信するように登録されています -GCMRegistrar.register
  2. デバイスには、メッセージを配信できる接続があります
  3. デバイスは、メッセージの配信を可能にするインストール済みソフトウェアの特定の要件を満たしています。つまり、Google API の最小 SDK 2.2 です。

更新: メッセージを送信すると、すべてが問題なければメッセージ ID を意味するステータス応答を受け取ります。メッセージがそのデバイスに送信されない限り、メッセージを送信したデバイスはメッセージを受信しません (デバイスに登録された GCM ID を使用)。デバイス登録 ID は、登録するデバイスからの呼び出しに続いて返されます。

GCM では、メッセージが配信されるという保証はないことに注意してください。通常は非常に信頼できますが、配信が重要な場合は使用しないでください。

はい onMessage() は、デバイスが受信する新しいメッセージのエントリ ポイントです。

于 2012-08-09T14:13:40.567 に答える