4

我有一个问题,似乎没有找到解决方案。我有一个像Draw Something这样的游戏。所以用户必须授权我的应用访问它。我将所有用户的用户 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

您可以做到这一点的一种方法是让服务偶尔运行一次,告诉您该应用程序仍为 x 用户安装。

但是为什么不只使用活跃用户而完全忽略非活跃用户呢?每当要创建新游戏时,请查找玩家,如果无法联系,则该用户不在场,您将不得不寻找新玩家。

于 2012-09-03T10:42:17.813 回答