【问题标题】:Android sdk facebook how to know when a user is not using your app anymoreAndroid sdk facebook 如何知道用户何时不再使用您的应用
【发布时间】:2012-09-03 09:26:43
【问题描述】:

我有一个问题,但似乎没有找到解决方案。我有一个像Draw Something这样的游戏。所以用户必须授权我的应用访问它。我将所有用户的用户 ID 保存在 mysql 数据库中。

为了生成一个新游戏,我从我的数据库中选择了一个随机用户 ID。问题是我想知道哪个用户仍在使用我的应用程序。

碰巧有几个用户安装了您的应用程序,登录到 facebook,他们保存在我的数据库中,但过了一段时间他们卸载了该应用程序。如果有人随后生成了一个随机游戏,那么他很可能必须与我的应用程序的前用户(已经卸载我的应用程序的用户)玩。

有没有办法知道某个应用的仍然活跃用户?我知道如果用户取消对您的应用程序的授权,我们可以使用 is_app_user 进行检查,但这不是我所关心的。用户很少取消对 imo 应用程序的授权。

现在,我只是通过选择具有以下条件的随机用户来进行检查: 1) 现在注册 - 7 天 2) 最近一次打开应用程序是从现在开始 - 7 天

但是,这仍然不是一个优雅的解决方案。

如果有人知道解决方案,我也会用它来清理我的数据库(删除所有非活动用户)。

感谢您的输入!

【问题讨论】:

    标签: android facebook-graph-api sdk native


    【解决方案1】:

    利用 GCM 可能会奏效

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

    在本文档中:

    当用户卸载应用程序时,它不会在 GCM 上自动取消注册。只有当 GCM 服务器尝试向设备发送消息并且设备回答应用程序已卸载时,它才会取消注册。此时,您的服务器应将设备标记为未注册(服务器将收到 NotRegistered 错误)。

    【讨论】:

    • 嘿朱利安,这看起来是一种可行的方法。我会努力实现的!非常感谢!
    【解决方案2】:

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

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

    【讨论】:

    • 您好,谢谢您的回复。这不是仅仅选择“现在”的人的选项。这并不是说我只希望运行应用程序的用户玩。一个用户制作了一个游戏,然后,当其他用户打开他的应用程序时,他会收到一个新的待定游戏的通知。所以问题是我无法区分活跃用户和非活跃用户。
    • 您不能只检查您是否可以连接到用户,如果不能连接到用户,则不将游戏计为活动状态吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多