amazon-web-services - 如何使用 AWS 在 React Native 中发送“您有一段时间没有使用您的应用程序”的推送通知?
问题描述
只是想从高层次上了解我将如何做到这一点。
我以为当用户打开应用程序时,我会在 Dynamo DB 表中跟踪上次打开的时间。
然后我可以让后台工作人员不断检查,看看是否有人在 3 或 4 天内没有使用他们的应用程序,然后发送推送通知,即“你有一段时间没有使用你的应用程序,为什么不使用打开它然后做 XYZ。”
解决方案
从非常高的层面来看,有两种可能的方式:
1.) 本地通知(您不需要 AWS):您可以安排本地通知,每次用户打开应用程序时(或者更好 - 每次用户将应用程序带到前台时)。它的工作原理如下:用户打开应用程序->如果存在则取消旧的预定通知->为“3或4天”安排新通知->准备好:-)你可以使用这样的东西:https ://github.com/zo0r /react-native-push-notification(请参阅预定通知部分)。
2.) 您可以使用远程通知 ( https://aws.amazon.com/sns/ ):您可以按照您建议的方式进行操作。然后,您必须在您的数据库中存储一个条目,其中包含设备的推送通知令牌以及应用程序上次打开的时间。然后,您的工作人员必须使用 SNS 等服务检查推送消息并将其发送到设备。
我会推荐 1.) 超过 2.),因为在获取应用程序打开信息时,您独立于用户的互联网连接。在 2.) 中,当用户在没有互联网连接的情况下打开应用程序时,您可能会错过打开信息。同样 2.) 比 1.) 更昂贵,当您扩展您的应用程序时。
2.) 的一个优点是,您在通知中发送的时间和内容更加灵活,因为您可以在服务器端对其进行编辑。1.) 意味着它是在您的应用程序中编码的(至少在您为变量构建同步机制之前):-)
推荐阅读
- ios - SCLAlert pod 图标大小调整
- swift - 我可以用一个元组在一行中声明和初始化多个变量吗?
- python - 随机播放相同的顺序
- db2 - 如何从 IBM I Midrange 服务器访问 DB2 数据库(Z OS)?
- resharper - 自定义 JetBrains Rider 以在您单击文件中的类/函数名称时打开链接
- arangodb - 有效计算给定字段具有不同值的文档
- sqlalchemy - 除了内置方言外,如何向 Alembic 添加新方言?
- python - 从 GCP API 启用 G Suite 域范围委派
- javascript - 如何将html元素转换为JS中的数组?
- reactjs - 如何在反应中将新值推送到数组状态