8

トピックに関するすべての投稿と Android プッシュ通知を注意深く読みました。基本的に、少額で、この投稿Android & (何百万もの) プッシュ通知によると、Google Cloud Message、MQTT、および XMPP の 3 つの可能性が定義されています。

Google クラウド メッセージについて いくつかの長所と短所があります (Android のバージョン、Google Play がインストールされている、アクティブな Google の数、順序どおりの通知の配信を保証するものではありません。..)

MQTT はわかりませんが、測定値やその複雑さ、および他のコンポーネントとの統合が難しいことは破棄します。

私は XMPP を選択しました。これは、プレイをゲーム アプリにするために使用するサーバーだからです。

ゲームをプレイしているときにプレイヤー A が移動すると、プレイヤー B と共有するチャット ルームにメッセージが送信されます。プレイヤー B は、クライアント アプリで必要なアクションを受信、分析、実行します。したがって、ゲームの開発はチャット ルームで行われます。

しかし、WhastApp や AngryWords のスタイルも気に入っています。プレーヤーがアプリケーションを開いていないときに、他のプレーヤーがプレイを開始またはプレイするためのチャレンジを送信すると、通知が Android に表示されます。

これを私はプッシュ通知と呼んでいます。顧客は特定の間隔 (ポーリング) で質問するのではなく、イベント後にプロセスを開始するサーバーになります。説明されているすべての方法、XMPP、およびしたがって、TCP / IP を永続的に開く必要があることを理解しています。

しかし、パブリッシュ/サブスクライブを実行する必要がありますか?. 10,000 人のユーザーがいる場合、ペアで発行/購読する必要がありますか? 特定の種類の完全な JID へのチャット メッセージを処理できますか?

最後に、デバイスでアプリが開いていない場合にのみそれを行うため、ステータス バーに通知が表示されます。

ありがとう

4

1 に答える 1

-2

アプリが実行されていないときにデバイスにメッセージを送信する場合は、Google クラウド メッセージングを使用する必要があります。xmpp セッションを維持することはできますが、そのためにはアプリケーションがバックグラウンドでサービスを実行および管理する必要があります。

xmpp オフライン メッセージング モジュールを拡張して、GCM および APN プッシュ通知をオフラインのユーザーに送信することを選択しましたが、これにはユーザーがデバイスを登録する必要があり、それらを jid にマッピングします。

プレゼンスの更新を受け取りたい場合にのみ、誰かに xmpp メッセージを送信するためにサブスクライブする必要はありません。

于 2015-02-14T17:00:35.003 に答える