使用 Mobile Hub 为 iOS 测试 Amazon SNS,但无法使其正常工作

Testing Amazon SNS for iOS using the Mobile Hub but can't get it to work

根据标题,我正在尝试让 AWS SNS 推送通知在 iOS 设备上运行。出于测试目的,我想尝试 Mobile Hub (https://console.aws.amazon.com/mobilehub) 并在给定的示例应用程序之上按我的方式工作。

我似乎无法让它发挥作用。我知道在涉及多层指令时很难寻求帮助,但我整个周末都在努力解决这个问题,但似乎无法弄清楚。 在 AppDelegate 中,当我在 select 创建主题后在 Amazon SNS 移动控制台中触发 SNS 时,didReceiveRemoteNotification 调用应该会收到一些东西。但是这个协议没有被调用。

  1. 就配置文件而言,我创建了开发和分发。两者都经过测试。
  2. 就证书而言,我已尝试使用 Apple 推送通知服务 SSL(沙盒)和 Apple 推送通知服务 SSL(沙盒和生产)。很明显,您必须 select 后者,因为对于前者,通知权限警报甚至在您安装应用程序时都不会显示。只有当你用后者安装它时它才会显示。

  3. 我确保包 ID 匹配。

  4. 我在 iphone 6s 上打开了所有通知。

  5. 在控制台上我看到这条成功消息:

2016-03-30 20:57:57.103 MySampleApp[284:47861] AWSiOSSDKv2 [信息] AWSPushManager.m line:186 | -[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:] |设备令牌:435d5se354s38s9ddge2edcs2a3601e18ss9c83e47s629164ebced21s16abb39974sg3

  1. "didFailToRegisterForRemoteNotificationsWithError" 永远不会被调用。

  2. "didRegisterForRemoteNotificationsWithDeviceToken"调用成功

  3. 我也在我的控制台上收到这条成功消息:

2016-03-30 21:34:16.635 MySampleApp[321:57551] AWSiOSSDKv2 [信息] PushNotificationViewController.m line:112 | -[PushNotificationViewController topicDidSubscribe:] |成功订阅主题:AWSPushTopic: 0x14c6da770

我完全迷路了。如果有更多信息可以让我 post 解决这个问题,请告诉我。

更新:Rohan Dubal,感谢您的评论。以下是您向我提出的要求。

  1. 是的,我总是从 "My Sample App" 导航栏视图 -> "Push Notifications" 行 -> "Push Notifications" 导航栏视图 -> 单击演示推送通知底部 -> 开关打开(绿色)并且 "topic" 行被选中并且我已将 APNS 发送到该引用主题。

  2. 是的,我也尝试过最小化和关闭该应用程序。顶部栏通知或任何通知根本不显示。

感谢您的反馈。请建议我可以做的任何其他测试 运行.

此外,我认为这可能与我的 iphone 6s 相关,所以我尝试了 iphone 5s 但它仍然不起作用。 iphone 6s 是 ios9.2 和 iphone 5s 是 ios 8.3.

嗯,这听起来和我刚才遇到的问题很相似。 Mobile Hub 似乎只允许您设置生产 APNS 而不是开发 APNS。当我使用 XCODE 调试应用程序时,我需要使用沙箱 APNS,因此我执行了以下操作:

  1. 创建 Apple 开发类型的 SNS 应用程序 (APNS_SANDBOX)
  2. 在 App ID 中使用我的开发证书中的 .p12
  3. 启动我的应用程序并记录了 didRegisterForRemoteNotificationsWithDeviceToken 给我的设备令牌
  4. 最小化我的应用程序(否则不会显示通知)
  5. 在 SNS 控制台中,我使用设备令牌注册了一个端点
  6. 使用 SNS 控制台中的“发布到此终结点”按钮发送消息('Hello World',显然)
  7. 看到通知
  8. 工程师跳胜利舞了吗

希望对您有所帮助。对我来说,这样做的关键是意识到我需要创建另一个 SNS 队列。 TBH 我没有看到 Mobile Hub 的好处。