1

アプリケーションで Google クラウド メッセージング サービスを設定しましたが、すべてが機能しますが、アプリケーションにメッセージを送信すると、deviceId を知っているユーザーだけがメッセージを受信します。アプリを使用するすべてのデバイスにメッセージを送信するにはどうすればよいですか?

どうもありがとうございます

4

3 に答える 3

4

登録されていないデバイスにはメッセージを送信できません。

まず、これらのデバイスは を使用してGCMRegistrar.register登録し、registrationId をサーバーに送信する必要があります。その後、それらのデバイスにメッセージを送信できるようになります。

    final String regId = GCMRegistrar.getRegistrationId(context);

    if (!regId.equals("")) {
        // Device is alredy registered. This checks whether it is registered
        // on the server or not.
        if (!GCMRegistrar.isRegisteredOnServer(context)) {
            // Save regId to server
            registerInBackground(context, regId);
        } else {
            Log.v(TAG, "Already registered");
        }
    } else {
        GCMRegistrar.register(context, senderId);
    }
于 2012-08-08T14:23:14.313 に答える
2

登録されていないデバイスに GCM メッセージを送信することはできません。

すべてのデバイスへのフェイル セーフ ブロードキャストが必要な場合は、アプリに定期的にプルを実行させる方がよい場合があります。バージョン番号が付いた Web サーバー上の単純なフラット json ファイルで十分ですが、本当に苦労するのは、どのくらいの頻度で、いつ、どのようにプルするかを判断することです。

于 2012-08-08T14:29:22.293 に答える
1

デバイス上のクライアントは、デバイス上の GCM ライブラリから登録 ID を受け取ります。これは、必要な識別情報とともに、通常のチャネルを介してサーバーに送信されることになっています。サーバーは、どの RegID がどのユーザーまたはデバイスに割り当てられるかを記憶する必要があります。詳細については、http: //developer.android.com/guide/google/gcm/gs.htmlを参照してください。

于 2012-08-08T14:22:24.757 に答える