【问题标题】:Continue sending push notification discarding failed device ones for ios继续发送推送通知,丢弃 ios 的失败设备
【发布时间】:2014-01-24 10:27:19
【问题描述】:

我需要一次(批量)向 1000 台(数千台)设备发送 ios 推送通知。 我需要的是,

如果某些设备令牌(比如第 100 个令牌)发生错误, 我只需要放弃向该令牌发送推送通知并从下一个设备令牌(第 101 个)继续。

在我的数据库中,有生产令牌,但也有一些是开发令牌。我不知道其中哪些是生产代币,哪些是开发代币。我正在使用生产证书。我认为,由于一些开发令牌,推送不会发送到所有设备。

那么,有没有可能区分开发或生产?或者,如果一个令牌发生错误,则简单地丢弃并继续下一个令牌。我正在使用 PHP 作为推送通知的服务端。

【问题讨论】:

    标签: php ios iphone push-notification apple-push-notifications


    【解决方案1】:

    找到开发令牌的唯一可靠方法是检测从 Apple 返回的无效设备令牌的错误响应(假设您以增强的二进制格式发送通知)。

    如果您知道在开发中测试 APNS 时使用的设备的完整列表,另一种方法是尝试在这些设备上安装开发版本,并在注册到 APNS 时获取开发令牌。这仅在您拥有少量此类设备时才实用。

    【讨论】:

    • 如何检测错误。我的意思是如何准确知道哪个令牌无效?而且,在检测到无效令牌后,我应该删除这些令牌还是忽略它们?我不能做你的另一种方式,因为有 1000 多个用户。你能建议我如何处理这个问题吗?提前谢谢..!!
    • @BarcelonaTsandesh 即使有 1000 多个用户,我也应该想象用于开发的设备数量要少得多。至于检测错误,以增强格式发送带有标识符的消息。如果您收到错误响应,它包含一个消息 ID,并且您可以从该 ID 中找到该消息的设备令牌(如果您将该数据存储在您的服务器中)。最好删除无效令牌,不要将开发令牌与生产令牌混合在同一个数据库中。
    • 感谢您的想法。但是你能帮我检测无效的令牌吗?任何教程、文档或示例代码??
    • @BarcelonaTsandesh Check this out.
    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多