如何检查手机上是否安装了该应用程序?因此 Expo 可以为设备生成 ExpoPushtoken 以启用推送通知

问题描述

我正在 Expo 的帮助下使用 react native 开发移动应用程序。我被要求将推送通知集成到应用程序中,因此我进行了查找并按照此 guideline 在客户端进行设置和配置。

接下来,我尝试处理从客户端生成的令牌并将其保存到数据库中,以便服务器可以使用令牌作为地址向分配给它的设备发送通知,并根据来自世博团队到这个forum," 对于 Expo,只要安装了应用程序,Expo 推送令牌就永远不会改变。如果用户卸载并重新安装应用程序,他们将获得一个新的 Expo 推送令牌......”。

所以我想知道我们如何确定某个应用程序是否已安装/重新安装在特定设备上?因此 expo 可以为设备生成/重新生成 ExoPushToken。任何库或片段来解决这个问题?

我现在的解决方法是每当用户使用他们的用户名和密码登录他们的帐户时生成一个新的推送令牌(我启用了 pinscreen,所以他们不必每次都使用他们的用户名和密码)访问他们的数据)。

它有效,但不是一个有效的解决方案(我猜)。有任何想法吗?谢谢!

解决方法

有多种方法可以在应用卸载时执行操作,如本回答中所述Can I catch an event when application is uninstalled in React Native?

使用此方法,您可以从数据库中删除令牌,如果用户没有令牌,则可以在登录时发送新令牌。

我个人的意见是,无论如何您都可以对每个登录请求执行此操作,但如果出于某种原因您不想这样做,也许这种情况对您来说已经足够了?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...