Как сгенерировать идентификатор библиотеки устройств?

Я хочу создать систему для интеграции с Passbook, первый шаг — зарегистрировать устройство для получения push-уведомлений для прохода, и я знаю, что оно будет использовать веб-сервис, такой как «webServiceURL /version /devices/deviceLibraryIdentifier /registrations/passTypeIdentifier /serialNumber ".

«Идентификатор библиотеки устройства — это общий секрет, характерный для Passbook, между устройством пользователя и вашим веб-сервером. Он не связан с идентификатором устройства (UDID). Устройство идентифицирует себя с другим идентификатором на разных серверах и может изменить свой идентификатор. в любое время. Его цель — обеспечить эффективную связь между устройством и вашим сервером, а не позволить вашему серверу хранить список пропусков, установленных в настоящее время на устройстве. Идентификатор библиотеки устройств однозначно идентифицирует устройство и указывает, что сущность сделавший запрос уполномочен сделать такой запрос».

мой вопрос

  • Как сгенерировать deviceLibraryIdentifier на устройстве? Какой лучший формат?
  • Когда происходит регистрация, это когда пропуск добавляется в Passbook в стороннем приложении, а затем, когда эти пропуска добавляются через URL / электронную почту, когда регистрироваться?

person yanguango    schedule 20.10.2012    source источник


Ответы (1)


deviceLibraryIdentifier выдается приложением Passbook. Вам не нужно генерировать его самостоятельно. Когда пользователь добавляет пропуск в Passbook, приложение отправит запрос на указанный вами webServiceURL. Пример:

POST /v1/devices/070ddefaed0cdc4bedfe5e46b4ba7e20/registrations/pass.com.apple.test/123456

Вам необходимо сохранить переданные deviceLibraryIdentifier, serialNumber и pushToken (в теле POST), чтобы выполнить отправку APNS в Passbook и обновить данный проход.

Я очень рекомендую ознакомительные видеоролики Passbook с WWDC 2012, чтобы лучше понять экосистему Passbook.

person ptz0n    schedule 03.11.2012
comment
ай ptzon, не могли бы вы прояснить одну вещь? Или любой другой1. - person Abdul91; 29.04.2016
comment
Не могли бы вы объяснить, как я могу получить deviceLibraryIdentifier из приложения сберегательной книжки? Есть ли какой-то конкретный метод, который возвращает deviceLibraryIdentifier? - person Gkapoor; 16.01.2019
comment
Идентификатор отправляется из приложения Wallet в виде HTTPS-запроса при добавлении нового прохода в приложение. - person ptz0n; 17.01.2019
comment
Мы получаем проход с сервера и добавляем эти проходы в приложение кошелька с помощью PKAddPassViewController, когда пользователь нажимает кнопку «Добавить». POST /v1/devices/070ddefaed0cdc4bedfe5e46b4ba7e20/registrations/pass.com.apple.test/123456 Отправляет ли приложение IOS этот HTTP-запрос автоматически, когда мы добавляем пропуск в кошелек? Или нам нужно нажать выше API из приложения IOS? Пожалуйста, помогите мне получить deviceLibraryIdentifier - person Gkapoor; 26.01.2019
comment
Приложение Wallet само сделает запрос при добавлении прохода. Посмотрите в логах своего сервера. - person ptz0n; 28.01.2019