ios - AWS SNS 不适用于 APNS

标签 ios apple-push-notifications amazon-sns

很难排查我使用 Amazon SNS 实现推送通知服务时出现的问题。我为调试和发布环境创建了配置文件并生成了证书。

然后,我在 SNS 上创建了两个平台端点:一个用于沙盒模式,另一个用于生产。但是,在正确的环境中注册设备(平台端点)后,我无法收到推送通知,因为它已禁用,CloudWatch 在交付结果中显示以下内容:

"providerResponse": "{\"reason\":\"DeviceTokenNotForTopic\"}", "statusCode": 400

我使用相同的证书和设备 token 直接使用 Apple 端点测试了推送通知的传送:

curl -v -d '{"aps":{"alert":"MESSAGE"}}' -H "apns-topic: BUNDLE_ID"-H "apns-priority: 10"--http2 - -cert CERTIFICATE.pem https://api.development.push.apple.com/3/device/APNS_DEVICE_TOKEN

一切都按预期进行,我立即在我的设备上收到了推送通知。我错过了什么吗?

最佳答案

我收到了同样的错误信息。看着https://docs.telerik.com/platform/knowledge-base/troubleshooting/troubleshooting-ios-push-notification-error-devicetokennotfortopic事实证明,我已经为我的生产应用程序 ID 生成了我的证书,但是我获取设备 token 的应用程序是我的开发应用程序(具有不同的应用程序 ID)。我重新生成了证书和私钥——这次是为我的开发应用程序 ID,将其重新上传到 AWS SNS(使用新的“平台应用程序”),现在可以使用了。

关于ios - AWS SNS 不适用于 APNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49952211/

相关文章:

aws-api-gateway - 如何从API网关集成请求向SNS发布添加消息属性

aws-lambda - 警报通知中可用的 AWS Cloudwatch 日志过滤参数

amazon-web-services - SNS 订阅需要一个字符串

cordova - 推送插件 : Can't find variable: onNotificationAPN

ios - APNS 向所有用户的设备发送通知

ios - 如何在 APNS 的背景前景上使用相同的通知

ios - glGetRenderbufferParameterivOES 返回错误的大小

ios - 使用数据、iOS、Swift 3 刷新表格的最有效内存方式是什么?

ios - 当声明@property (nonatomic) BOOL varname 时,使用带有 _varname 的未声明标识符

objective-c - RestKit 使用 setObjectMapping 从核心数据中删除旧数据