当前位置: 首页 > 知识库问答 >
问题:

SNS移动推送通知极其混乱

甄鹏云
2023-03-14

现在,当有人向SNS发布消息时,我试图向手机发送推送通知。我对我必须使用哪些服务感到困惑。我是否必须使用Firebase Cloud Messaging/GCM等第三方服务来发送移动推送通知?或者我可以直接从SNS发送到我的手机上。

在AWS文档中,这对我来说有点矛盾。

https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-application-as-subscriber.html

它说:

要开始使用Amazon SNS移动推送通知,您需要以下内容:

连接到受支持的推送通知服务之一的一组凭据:ADM、APNS、百度、FCM、MPNS或WNS。

已注册并配置为使用受支持的推送通知服务之一的移动应用程序。

这意味着我们必须使用第三方服务,对吗?但是在AWS SNS教程中:

https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html

它说我们可以为我的移动设备创建一个平台endpoint,这样它就可以接收推送通知。我非常困惑,我们是必须使用第三方服务还是可以直接向手机发送SNS推送通知?

我查了Stackoverflow我也不清楚答案

亚马逊SNS可以直接向移动设备推送通知吗?

Amazon SNS向单个设备发送直接推送通知

有人能帮我澄清一下吗?

共有1个答案

罗昊明
2023-03-14

AWS SNS管理和抽象不同的消息推送服务。

为了使AWS SNS能够使用适当的推送通知服务,它需要一个平台endpoint。它需要知道应用程序是建立在哪个平台(即iOS)上的。

它说我们可以为我的移动设备创建一个平台endpoint

要创建平台endpoint,您需要来自推送通知提供程序的证书。

  • 示例:.p12是来自Apple的证书,需要启用“推送通知”功能

创建平台应用程序后,该应用程序需要向AWS SNS注册唯一的设备令牌。

此设备令牌由iOS或Android生成,用于唯一标识设备。只有推送通知提供商的证书对应用程序进行了正确签名,应用程序才能生成设备令牌。

我们必须使用第三方服务吗

是的,您需要第三方服务来:

  1. 生成启用消息推送功能的证书
  2. 生成与您的物理设备关联的设备令牌
  3. 使用证书正确签署应用程序

或者我们可以直接向手机发送SNS推送通知吗?

AWS SNS通过将设备endpoint匹配到正确的设备令牌来为您管理这一点。然后调用适当的推送通知服务。(即APN、GCM)。

 类似资料:
  • 我们有一个要求有一个持久的移动推送通知;我们发现了带有AWS认知的AWS SNS。我们最关心的是,我们发现AWS SNS不像OneSignal那样支持图像或blob数据类型。 AWS SNS有什么方法可以在推送移动通知中支持图像(图像也会在notif预览中显示)

  • 在创建平台应用程序时,我尝试创建应用程序和消息推送平台选择GCM,然后添加API密钥,我得到了以下结果。 无效参数:属性原因:平台凭据无效(服务:Amazon SNS;状态代码:400;错误代码:InvalidParameter;请求ID:44a04d15-c58b-5bf8-859e-0311947aac6c) 这意味着什么?我如何修复它?

  • 我为沙盒iOS设置了推送通知,它们曾经工作过,但由于某种原因目前不工作。这是来自云观察日志的错误AWS SNS: 这是我的发送代码(AWS Lambda调用此代码): Lambda方法的返回数据: 我已经将问题缩小到不与我的lambda方法关联,因为我试图发布到直接从SNS控制台创建的endpoint。我还想知道为什么这个旧的实现在过去,一个月或两个月前,仍然有效,而现在不再有效。我认为这可能与过

  • 我正在努力理解AWS移动推送通知是如何工作的。具体来说,我正在构建一个web服务,它将能够向运行在用户设备上的移动应用程序发送通知。在阅读了他们所有的文档后,听起来高层次的流程是: < li >配置 < ul > < li >我需要进入各自的推送通知服务(Android版的GCM和iOS版的APNS ),并对它们进行配置,以获取我配置后端服务在运行时用于连接它们的凭据。 < li >我需要登录AW

  • 我们在开发针对国内运营的时候进行需要使用过程的几家推送,极光推送则是其中之一。这个包就可以让你方便地在你构建的 Laravel 应用中进行极光推送的使用。 前提 PHP >= 7 Laravel >= 5.5 安装 在 Laravel 应用目录使用 Composer 进行依赖: composer require medz/laravel-jpush-notification-channel 包中依

  • 我需要使用< code>aws-sns-javascript向多个设备发送推送通知。当我创建createPlatformEndpoint时,我可以只添加一个设备令牌,但我需要向多个设备发送通知,如一个数组令牌 创建平台应用程序 创建平台终端节点 向Amazon SNS主题发送消息