首页 > 解决方案 > 如何检查应用程序是否安装在手机上?因此 Expo 可以为设备生成 ExpoPushtoken 以启用推送通知

问题描述

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

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

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

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

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

标签: react-nativeexpoexpo-notifications

解决方案


有一些方法可以在卸载应用程序时执行操作,如本答案中所述,我可以在 React Native 中卸载应用程序时捕获事件吗?

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

我个人的观点是,无论如何您都可以在每次登录请求时都这样做,但是如果由于某种原因您不想这样做,那么这种情况对您来说是否足够好?


推荐阅读