DeviceCheck API设置位独立于TransID

时间:2018-08-30 12:16:57

标签: ios ios11 devicecheck

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

我已经检查了Apple documentation,但并没有清楚解释。

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

要进行更新,将需要:device_token,transaction_id,timestamp,bit0,bit1

我遵循了Marinosoftware.com here

编写的教程。

我有以下问题。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

与时间戳类似;大概是Apple在许多服务器上分配了DeviceCheck功能。时间戳字段允许对请求进行一致处理,其中更新和查询可能会快速连续发生,并被分派到Apple的不同服务器实例。

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