Где я могу получить токен устройства, который требуется Urban Airship для регистрации на iOS?

#ios #mobile #token

#iOS #Мобильный #токен

Вопрос:

Из онлайн-API:

HTTP, ОТПРАВЛЕННЫЙ в /api/device_tokens/, регистрирует токен устройства на нашей стороне. Это позволяет нам знать, что токен устройства активен, и это должно происходить при каждом открытии приложения, чтобы список токенов устройства оставался актуальным.

Как мне в первую очередь получить токен устройства?

Комментарии:

1. Их SDK [Urban Airship] сделает это автоматически для вас, поэтому вам не нужно регистрировать его через API: github.com/urbanairship/ios-library

Ответ №1:

Я полагаю, вам нужно посмотреть здесь: реализовать application:didRegisterForRemoteNotificationsWithDeviceToken метод получения токена устройства.

РЕДАКТИРОВАТЬ: руководство Urban Airship находится по адресу http://urbanairship.com/docs/apns_test_client.html .

РЕДАКТИРОВАТЬ: единственный способ отправить сообщение APNS — это использовать токен устройства: вы должны передать токен устройства обратно на любой сервер, отличный от Apple, который является точкой отправки уведомления. В транзакции есть 3 логических объекта: устройство, сервер APNS (серверная часть Apple) и исходный сервер (в данном случае сервер Urban Airship). Устройство и серверная часть Apple уже имеют токен (или могут его сгенерировать). Сервер Urban Airship получает этот токен только тогда, когда вы отправляете его им с устройства. Затем он может использовать этот токен для связи с серверной частью APNS и идентификации устройства. Что вы делаете, так это используете application:didRegisterForRemoteNotificationsWithDeviceToken обратный вызов, а затем отправляете (через HTTP или любой другой проводной протокол, который вы выберете) этот токен на исходный сервер (в документах Urban Airship показано, как это сделать с их библиотекой).). Теперь их сервер может использовать этот токен для связи с серверной частью APNS.

Комментарии:

1. Спасибо Femi. Итак, похоже, что ваши ссылки рассматривают проблему с точки зрения клиента — я рассматриваю это больше с точки зрения сервера. Почему API Urban Airship требует регистрации токена устройства, если устройство может зарегистрироваться в APN? Если серверу необходимо зарегистрировать токен устройства, как серверу становится известно об указанном токене устройства?

2. «здесь» — неработающая ссылка.

Ответ №2:

Чтобы получить токен устройства, у вас есть несколько вариантов:

Вариант 1

Вы можете найти его в качестве одного из аргументов, отправляемых в методе делегата вашего приложения application:didRegisterForRemoteNotificationsWithDeviceToken: .

Вариант 2

Вы можете получить его как NSString, позвонив [[UAPush shared] deviceToken] после того, как ваше устройство успешно зарегистрировалось для удаленных уведомлений.

Вариант 3

Если у вас нет доступа к коду. Вы можете найти его, прочитав вызовы вашего приложения Urban airship. Вы можете сделать это с помощью Charles proxy. Полные инструкции по этой ссылке. Подводя итог:

  1. Установите сертификат Charles на свое устройство iOS, чтобы http://charlesproxy.com/charles.crt в Safari на вашем устройстве.
  2. Прокси беспроводное соединение вашего устройства через Charles
  3. Включите прокси-сервер SSL в Charles for *.urbanairship.com на порту 443.
  4. Запустите приложение и найдите вызовы URL-адресов с упоминанием «urbanairship», которые были записаны в Charles. Они должны быть расшифрованы, а некоторые будут содержать информацию о вашем токене устройства.