使用Amazon SNS服务发送推送通知

时间:2014-11-05 10:29:12

标签: android ios amazon-web-services push-notification amazon-sns

我们正在开发一个发送推送通知的移动应用程序,我们希望使用Amazon SNS服务,我想确认我们计划如何管理设备注册和推送通知发送的一般概念。

据我所知:

在Amazon SNS中有PlatformApplication的概念,我们指定它是否是Android / iPhone等环境(Test / Prod,...)

然后,PlatformEndPoint"的概念用于设备和移动应用程序"所以,我想,对于每个下载并安装了应用程序的人来说,根据设备的类型(android,apple)在适当的平台上创建一个EndPoint是必要的

我的问题是,当应该创建这个PlatformEndPoint时,每次登录到应用程序时我们应该在每次注销时将其删除?

然后,当创建PlatformEndPoint并且我需要向特定用户(而不是每个人)发送推送通知时,我将使用Publish API和适当的TargetArn参数。

非常感谢您的意见和建议

1 个答案:

答案 0 :(得分:2)

首先您需要通过SNS仪表板(或使用SDK)手动创建应用程序端点。

您可以在此处为Apple(APNS-Sandbox)声明测试环境。其他环境没有专门的测试环境。 (即Google),但我们鼓励您创建测试和生产应用程序,即使他们将使用相同的消息传递提供程序。

你最终可能会:

  1. "苹果分段"与APNS-Sandbox
  2. "苹果生产"与APNS
  3.   

    注意:您可以针对特定设备类型优化端点。 " iPhone分段"和/或" iPad-staging"等

    <强>第二: 拥有应用程序端点后,您需要在系统中拥有根据系统环境知道要命中哪个端点的代码。即开发和分期可能指向&#34; Apple-staging&#34;端点。生产可能指向&#34; Apple-production&#34;。

    <强>第三: 每当用户接受推送通知对话框时,您必须创建用户的端点,该端点又与应用程序端点相关。

    1. 用户对P.N。
    2. 说“是”
    3. 您的服务器收到手机从APNS,GMS等获得的令牌
    4. 您的服务器依次使用亚马逊的sdk创建端点。
    5. 那就是它。
    6. 过去 当您要发送推送通知时,您需要获取用户的arn(或端点)并使用Amazon sdk中的publish方法。

      错误处理

      如果推送通知未成功发送,则会自动禁用用户的终端。您需要决定如何处理它们以便将来通知。您可以利用Amazon SQS,错误处理的实现可能会有所不同。