APNS服务发送200个过期的设备令牌?

时间:2019-06-15 00:21:01

标签: ios swift push-notification apple-push-notifications

在集成到我的应用程序之前,我正在测试Apple Push Notification服务(沙盒模式)。我们可能会以每分钟数千个的速度发送推式通知-因此,一项主要要求是,如果应用被删除(或重新安装),则不向无效(已删除)设备令牌发送通知。

设备令牌,在以下位置接收:

application(_ application: UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)

在特定于App安装中。新安装会创建一个新令牌,而前一个令牌将无效。

根据Apple's APNS document,发送过期的设备令牌请求应返回:

  

410该主题的设备令牌不再有效。

但是,对于有效和过期的设备令牌,我一直能获得200。正确的设备令牌的通知将发送到设备,而无效(过期)令牌的通知则不会。

我正在服务器端使用npm apn软件包,并在运行iOS 12.3的设备上进行测试。

我在这里想念东西吗?

1 个答案:

答案 0 :(得分:0)

我也注意到了这一点。我通常会收到200的响应代码,以及以下无效/过期令牌的正文:

{
    "multicast_id": 7942205170696355362,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results": [
        {
            "error": "InvalidRegistration"
        }
    ]
}

我假设您将必须解析响应正文并检查成功或失败计数,以确定通知是否实际传递。 如果失败,请从数据库(或存储要发送给令牌的位置)中删除此令牌,以免再次尝试将令牌发送到同一令牌。