【问题标题】:How can an app detect that it's going to be uninstalled in Nativescript?应用程序如何检测到它将在 Nativescript 中被卸载?
【发布时间】:2018-01-02 22:08:25
【问题描述】:
是否可以检测用户是否会在 Nativescript 中删除应用程序?
我需要它来取消订阅 Firebase 主题中的用户。
谢谢。
【问题讨论】:
标签:
android
ios
nativescript
angular2-nativescript
【解决方案1】:
选项 1:
使用this 解决方案实现一个BroadcastReceiver 来捕获卸载。
这是Nativescript BroadcastReceiver 上的文档
选项 2: 间接捕获事件,使用类似this link 中解释的事件。当您的应用程序包缓存文件夹被删除时,您可以在分叉进程中捕获事件(在您的 NS 应用程序的 JS 部分中)并在 RT DB 中调用您的 firebase 函数/更新值。
对于 iOS,您可能必须按照 here 和 here 的说明通过 ping 找到间接解决方案。
基于这些解决方案,停止 ping 和记录 n 天未收到消息的设备会更简单有效(您可以在 Firebase remote config 中配置的参数)。在应用程序启动事件中,您可以重置此值,您可以在其中为每个设备维护一个唯一的 ID 和活动状态。
如果您通过卸载路线,您可能会受限于 Android 中的有限选项。