DeviceCheck API устанавливает биты независимо от TransID - PullRequest
0 голосов
/ 30 августа 2018

Я ищу все вопросы и учебные материалы, доступные в сети, но не могу найти ни одного работающего решения.

Я проверил документацию Apple , которая не дает четкого объяснения.

DeviceCheck API для Query / validate будет принимать: device_token ,action_id и TimeStamp.

Для обновления потребуется: device_token, транзакция_id, отметка времени, бит0, бит1

Я следовал учебнику, написанному Marinosoftware.com здесь

У меня следующий вопрос.

  1. Какая польза от Transaction_id? потому что я использовал API обновления с другим транзакцией_id для обновления битов, но когда я использую «запрос», состояние битов, полученное от Apple, было таким, которое обновлялось последним независимо от идентификатора транзакции.

  2. Почему яблоко запрашивает транзакции_id и метку времени для запроса состояния бита, если они устанавливают биты независимо от транзакции_ид и метки времени.

1 Ответ

0 голосов
/ 30 августа 2018

transID - это уникальный идентификатор транзакции для этого взаимодействия между вашим сервером и Apple ; То есть ожидается, что он будет меняться каждый раз, когда вы инициируете связь с сервером Apple.

Предположительно, он используется для внутренних целей системы Apple, таких как сопоставление запросов и ответов, обнаружение повторяющихся запросов или просто ведение журнала.

Аналогично отметке времени; предположительно Apple распределила функцию DeviceCheck по многим серверам. Поле отметки времени позволяет последовательно обрабатывать запросы, если обновления и запросы могут происходить в быстрой последовательности и отправляться различным экземплярам сервера в Apple.

Значения контрольных битов устройства относятся к токену устройства, который является уникальным и совместимым для вашего приложения на данном устройстве.

...