谁能提供一个在 React Native 下使用 Amazon SNS 服务发送和接收推送通知的简单示例?
我已经设置了 Amazon SNS 服务,我可以从该网站发布消息并将其显示在 iPhone 上 – 如果我手动输入设备 token 并在 Amazon 网站上启动发布。现在我想自动化在 Amazon SNS 中注册推送 token 的过程,并允许应用程序向 SNS 服务发布推送。
我知道亚马逊有一个 very new project将他们的 SDK 集成到 React Native 中,但我无法让它工作。对该 repo 的支持也很少,所以我希望这里有人能提供帮助。
现在我得到的是:Undefined is not an object (evaluating 'cognateClient.initWithOptions')
GitHub 问题在 Android 上提到了类似的内容,但显然这对我的 iOS 应用没有帮助。
我正在寻找的是如何将亚马逊的代码集成到现有 RN 应用程序中的分步分解。他们不提供标准的 Node 包,所以我正在努力弄清楚如何让 React Native 代码和 SDK 与 Xcode 配合得很好。
有什么建议吗?谢谢!
最佳答案
不需要将 AWS“集成”到 RN 应用程序中。您只需要来自 RN 的设备 token 。
使用像 RNPN ( https://github.com/zo0r/react-native-push-notification ) 这样的包来获取您的手机生成的设备 token 。当你拥有它时,调用你的 api,然后你的 api 负责调用 SNS 将该设备 token 注册为 SNS“端点”。
将此伪代码翻译成您编写的 API:https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html
简而言之...
- RNPN onRegister ->
- 在您的 api 上发布/registerDevice ->
- 调用 AWS 从您的 api 创建平台端点 ->
- 开始从您的 api 发送消息
您很可能希望在您的数据库/数据存储中存储一些来自用户 -> deviceToken+platformEndpoint 的关系。
然后您可以从您的 api 发送通知。在这里写下了如何做到这一点:https://medium.com/@duhseekoh/send-a-push-notification-using-aws-sns-javascript-sdk-2f117e9c4180
关于ios - 将 Amazon SNS 与 React Native 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40209974/