【问题标题】:Update database on server when app is being uninstalled卸载应用程序时更新服务器上的数据库
【发布时间】:2019-02-09 11:30:07
【问题描述】:

我知道可能有很多类似我的问题的问题。但它是不同的。实际上,我正在制作一个静态图表,显示当前安装了我的 Android 应用程序的设备数量以及卸载它的设备数量。

为此,我在设备上安装应用程序时创建一个uniqueID,并将uniqueID 与FCM token 一起保存到服务器上的SQL 数据库中。

创建uniqueID

uniqueID = UUID.randomUUID().toString()

现在,当我将每个带有tokenuniqueID 的设备保存到数据库时。当然,即使已卸载应用,设备也会被视为已安装应用。

所以,我想在数据库中添加一个字段为inactive,以针对已卸载该应用程序的设备。为此,我正在考虑向数据库发送请求并在触发应用卸载时更新信息。

这可能吗?如果是,那么任何人都可以告诉我如何。或者有没有其他方法可以实现这一点。提前致谢。

【问题讨论】:

    标签: java android firebase


    【解决方案1】:

    是的,有可能。您可以每天从后端向您的所有活跃用户发送推送通知,并在 Android 端调用服务器上的 API 以确认您的存在。如果客户在一段时间内(例如 3 天)没有确认他的存在,您就知道他们已经卸载了该应用程序。这就是 Adjust 和其他统计信息对卸载统计信息所做的。

    【讨论】:

    • 可以,但是如果有人几天(比如 5 天)不使用他的手机,我会更新它以在 3 天内卸载。那么报告将不正确。
    • 您的服务应该在后台(后台服务)处于活动状态,因此它不会绑定到应用程序的视觉效果,因此当用户不使用它时,它仍然可以将确认发送到服务器.
    • by(如果有人不使用他的手机)我的意思是如果手机处于死状态
    • 是的,在这种情况下,您对您的数据无能为力。但是你可以做的是,当他们打开手机时,他们将他们的 ack 发送到服务器,服务器可以重新激活它们。
    【解决方案2】:

    卸载应用后,您无法轻松运行自己的代码。可以run code in another app,但这需要您让用户安装这两个应用程序。

    除了 Adib 描述的方法之外,您还可以考虑使用 Google Analytics for Firebase 来检测 Android 用户对您应用的卸载情况。如this question 的回答所示,Firebase 在这种情况下会自动跟踪卸载。

    【讨论】:

      【解决方案3】:

      也许您想使用 Firebase Analytics 和事件 app_remove。将其标记为转换并使用函数将用户从您的 Firebase 项目(如果匿名)和/或与用户关联的任何其他数据(存储、数据库、Firestore 等)或您可能想要对用户执行的任何其他操作中删除删除应用程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 2018-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多