ios - 将 Amazon SNS 与 React Native 结合使用

标签 ios push-notification react-native amazon-sns node-modules

谁能提供一个在 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/

相关文章:

ios - 如何打开新 View 并杀死实际 View ?

ios - 如果负载中缺少锁定 key ,推送通知是否会显示

javascript - 当用户访问网站时,是否可以使用 Service Worker 显示通知?

javascript - 有没有办法为 React Native 设置 Picker 组件的样式并使其高度变小?

ios - 使用 UISegmentControl 切换 View 时 UISearchBar 消失

ios - 从 UIPickerView 中删除未选择的项目

facebook - 与 react-native-fbsdk 共享图像?

react-native - Expo 文件系统 pauseAsync 给出错误 'No download object available'

ios - 尝试在 SpriteKit 编辑器中使用 GKComponent 子类会在保存时静默崩溃 Xcode

ios - 试验 Firebase - 推送通知