【问题标题】:Clean up Parse data after app uninstall应用卸载后清理 Parse 数据
【发布时间】:2015-08-18 23:08:01
【问题描述】:

我正在使用 Android Parse API 推送通知 (v1.9.4),我想知道如何在用户卸载应用程序时清理 Parse 应用程序数据(安装、用户和会话对象)。这可能吗?我在 2-1 年前看到一些帖子表明这是不可能的,我想知道情况是否有所不同,是否有新的解决方法:

以上这些帖子仅涉及安装对象的删除,我在网上找不到有关如何删除会话和用户数据的信息。我真的 需要清理所有内容,否则会发生奇怪的事情,例如当某些用户在重新安装应用程序后尝试注册(通过调用 signUpInBackground)时出现 ParseException“用户名 XXX 已被占用”,更不用说为幽灵解析安装发送的冗余通知...

非常感谢您的帮助!

【问题讨论】:

  • android 会告诉应用程序(我猜是运行它)它被删除了吗?我对此表示怀疑(甚至在阅读本文之前:stackoverflow.com/questions/6209730/…)。既然可能没有,那么可能对你的问题没有。考虑衡量一段时间内的不活动状态作为卸载的启发式方法。
  • 感谢 danh,我在 ParseInstallation 上使用了带有 beforeSave 触发器的云代码来检测给定用户的重复安装对象。现在,尽管不再有重复安装,但我继续在 signUpOnBackground 上收到错误“用户名 XXX 已被占用”......当然用户已经存在,我希望 parse 能够处理这些情况,但显然这是另一个限制解析...您对如何克服这个问题有任何想法吗?如果发生这种情况,我应该使用备用方法吗?
  • 你为什么称之为限制?您不能有多个用户具有相同的用户名,这是一项功能,而不是限制。这是链接到用户表,而不是安装表。
  • @deadbeef 你误解了我的意思。我的观点是,当我们尝试再次注册用户时,解析应该自动登录用户(已经存在),或者至少提供一个回退方法或错误代码,以便程序员可以更好地处理用户注册时的问题重新安装应用程序后再次启动。由于这个“限制”,程序员必须在注册之前检查用户是否存在于 Parse 上……你现在明白还是需要更多解释?

标签: android ios parse-platform


【解决方案1】:

您可以检测用户是否卸载应用程序,但您可以通过一些工作来避免该问题。

例如,我在Installation 中添加了一个新列,它保存了指向User 的指针,因此下次用户登录时,我搜索并删除该用户的前一个Installation 以创建新的后。这样一来,每个用户将只有一个安装(包括设备令牌)。

我知道,这有点难看,但这是避免这种 Parse 限制的唯一方法。

【讨论】:

  • 感谢 Arturo,我在 ParseInstallation 上使用了带有 beforeSave 触发器的云代码来检测给定用户的重复安装对象。现在,尽管不再有重复安装,但我继续在 signUpOnBackground 上收到错误“用户名 XXX 已被占用”......当然用户已经存在,我希望 parse 能够处理这些情况,但显然这是另一个限制解析...您对如何克服这个问题有任何想法吗?如果发生这种情况,我应该使用备用方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 2016-06-16
  • 2022-07-19
相关资源
最近更新 更多