AWS SNS 推送通知请求返回“DeviceTokenNotForTopic”
Posted
技术标签:
【中文标题】AWS SNS 推送通知请求返回“DeviceTokenNotForTopic”【英文标题】:AWS SNS push notification request returns "DeviceTokenNotForTopic" 【发布时间】:2019-10-26 19:08:44 【问题描述】:ios 应用程序请求 Token 并将其发送到 python API。我将它作为设备令牌添加到 AWS API 并订阅主题。
然后尝试发送推送通知,我收到“DeviceTokenNotForTopic”这样的错误:
"notification":
"messageMD5Sum": "71f457fe91ebc62efdce2acc25406ec8",
"messageId": "6124ef9c-860d-561a-94fa-b98e2392fd2a",
"topicArn": "arn:aws:sns:us-west-2:XXXXXXXXXXXX:all",
"timestamp": "2019-10-05 14:06:23.427"
,
"delivery":
"deliveryId": "................",
"destination": "...............",
"providerResponse": "\"reason\":\"DeviceTokenNotForTopic\"",
"dwellTimeMs": 145,
"attempts": 1,
"token": "............",
"statusCode": 400
,
"status": "FAILURE"
【问题讨论】:
【参考方案1】:错误“DeviceTokenNotForTopic”通常是从APNS(Apple Push Notification Service)端返回给SNS。
如果我们查看APNS 文档,您会发现此错误主要发生在“设备令牌与指定主题不匹配”,其中“主题”指的是捆绑包应用程序的 ID。这意味着:
a)。没有为该特定捆绑包 ID 生成令牌。
b)。当用于向 APNS 进行身份验证的证书中的捆绑 ID 与设备令牌的注册应用程序不匹配时,SNS 上的端点将被禁用,因为 SNS 本质上是在说 “除非您更改设备令牌,否则我们将无法到达这个端点”。
如果其他人遇到此问题,请考虑以下提示:
如果您有多个 iOS 应用程序,我建议确保将令牌注册到正确的平台应用程序,并确认该证书是该应用程序环境的正确证书。
如果 iOS 应用程序最近从沙盒转移到生产,证书也需要更改,反之亦然。
希望这会有所帮助。
【讨论】:
以上是关于AWS SNS 推送通知请求返回“DeviceTokenNotForTopic”的主要内容,如果未能解决你的问题,请参考以下文章