我搜索了网上所有可用的问题和教程,但找不到任何可行的解决方案。
我已经检查了Apple documentation,但并没有清楚解释。
用于查询/验证的DeviceCheck api将使用:device_token,transaction_id和TimeStamp。
要进行更新,将需要:device_token,transaction_id,timestamp,bit0,bit1
我遵循了Marinosoftware.com here
编写的教程。我有以下问题。
transaction_id的用途是什么?因为我曾使用具有不同transaction_id的更新API来更新位,但是当我使用“查询”时,从Apple接收到的位状态是最后更新的状态,而与transaction_id无关。
为什么苹果要询问transaction_id和时间戳以查询位状态,如果它们独立于transaction_id和时间戳来设置位。
答案 0 :(得分:0)
transID
是服务器和Apple之间此交互的唯一事务标识符 ;即每次您启动与Apple服务器的通信时,它都会改变。
大概它用于Apple系统的一些内部目的,例如关联查询和响应,检测重复查询或简单地记录日志。
与时间戳类似;大概是Apple在许多服务器上分配了DeviceCheck功能。时间戳字段允许对请求进行一致处理,其中更新和查询可能会快速连续发生,并被分派到Apple的不同服务器实例。
设备检查位的值与设备令牌相关,该令牌对于给定设备上的应用程序是唯一且一致的。