0

我搜索了网络上所有可用的问题和教程,但找不到任何可行的解决方案。

我检查了没有解释清楚的Apple 文档。

用于查询/验证的 DeviceCheck api 将采用:device_token、transaction_id 和 TimeStamp。

更新需要:device_token、transaction_id、timestamp、bit0、bit1

我在这里遵循了 Marinosoftware.com 编写的教程

我有以下问题。

  1. transaction_id 有什么用?因为我使用了具有不同 transaction_id 的更新 API 来更新位,但是当我使用“查询”时,从 Apple 收到的位状态是最后更新的,与 transaction_id 无关。

  2. 为什么苹果要求 transaction_id 和 timestamp 来查询位状态,如果他们独立于 transaction_id 和时间戳设置位。

4

1 回答 1

0

是您的服务器与 Apple 之间此交互transID唯一交易标识符;即,每次您启动与 Apple 服务器的通信时,它都会发生变化。

据推测,它用于 Apple 系统的某些内部目的,例如关联查询和响应、检测重复查询或简单的日志记录。

与时间戳类似;据推测,Apple 将 DeviceCheck 功能分布在许多服务器上。时间戳字段允许一致地处理请求,其中更新和查询可能会快速连续发生并被分派到 Apple 的不同服务器实例。

设备检查位的值与给定设备上的应用程序唯一且一致的设备令牌相关。

于 2018-08-30T18:30:03.373 回答