【问题标题】:AWS SNS push notification request returns "DeviceTokenNotForTopic"AWS SNS 推送通知请求返回“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"
}

【问题讨论】:

    标签: python amazon-web-services push-notification apple-push-notifications amazon-sns


    【解决方案1】:

    错误“DeviceTokenNotForTopic”通常是从APNS(Apple Push Notification Service)端返回给SNS。

    如果我们查看APNS 文档,您会发现此错误主要发生在“设备令牌与指定主题不匹配”,其中“主题”指的是捆绑包应用程序的 ID。这意味着:

    a)。没有为该特定捆绑包 ID 生成令牌。

    b)。当用于向 APNS 进行身份验证的证书中的捆绑 ID 与设备令牌的注册应用程序不匹配时,SNS 上的端点将被禁用,因为 SNS 本质上是在说 “除非您更改设备令牌,否则我们将无法到达这个端点”

    如果其他人遇到此问题,请考虑以下提示:

    1. 如果您有多个 iOS 应用程序,我建议确保将令牌注册到正确的平台应用程序,并确认该证书是该应用程序环境的正确证书。

    2. 如果 iOS 应用程序最近从沙盒转移到生产,证书也需要更改,反之亦然。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 2019-07-10
      相关资源
      最近更新 更多