4

質問があり、解決策が見つからないようです。DrawSomethingのようなゲームがあります。そのため、ユーザーはアプリにアクセスすることを承認する必要があります。すべてのユーザーのユーザーIDをmysqlデータベースに保存します。

新しいゲームを生成するために、データベースからランダムなユーザーIDを選択します。問題は、どのユーザーがまだ自分のアプリを使用しているかを知りたいということです。

何人かのユーザーがアプリをインストールし、Facebookにログインすると、データベースに保存されますが、しばらくするとアプリがアンインストールされます。その後、誰かがランダムなゲームを生成した場合、彼は私のアプリの元ユーザー(すでに私のアプリをアンインストールしたユーザー)とプレイしなければならない可能性があります。

アプリのまだアクティブなユーザーを知る方法はありますか?ユーザーがアプリの承認を取り消す場合は、is_app_userで確認できますが、それは私が気にしていることではありません。ユーザーがアプリimoの認証を解除することはめったにありません。

今、私は次のようなランダムなユーザーを選択してチェックを行っています:1)今から7日間の間に登録した2)今から7日間の間にアプリを最後に開いた

しかし、それでも、これはエレガントなソリューションではありません。

誰かが解決策を知っているなら、私はそれを使って私のデータベースをクリーンアップします(すべての非アクティブなユーザーを削除します)。

ご入力ありがとうございます!

4

2 に答える 2

1

GCMを利用するとうまくいくかもしれません

http://developer.android.com/guide/google/gcm/gcm.html

このドキュメントの内容:

ユーザーがアプリケーションをアンインストールしても、GCMで自動的に登録解除されることはありません。GCMサーバーがデバイスにメッセージを送信しようとし、デバイスがアプリケーションがアンインストールされたと応答した場合にのみ、登録が解除されます。その時点で、サーバーはデバイスを未登録としてマークする必要があります(サーバーはNotRegisteredエラーを受け取ります)。

于 2012-09-03T15:16:15.830 に答える
0

これを行う1つの方法は、アプリがまだxユーザー用にインストールされていることを通知するサービスを時々実行することでした。

しかし、なぜアクティブなユーザーだけを使用し、非アクティブなユーザーを完全に無視しないのですか?新しいゲームを作成するときはいつでもプレーヤーを見つけてください。連絡が取れない場合は、ユーザーがいないため、新しいプレーヤーを見つける必要があります。

于 2012-09-03T10:42:17.813 に答える