Понимание идентификаторов устройств в Pushwoosh
Существует два способа идентификации конкретного устройства, зарегистрированного в Pushwoosh: идентификатор оборудования (HWID) и push-токен.
HWID
Anchor link toHWID (или Hardware ID) — это ключевой идентификатор, присваиваемый устройству Pushwoosh SDK.
HWID для Android
Anchor link toДля устройств на Android HWID — это случайный набор букв и цифр, генерируемый первым приложением с установленным Pushwoosh SDK. Позже он передается другим приложениям, которые также содержат Pushwoosh SDK, в результате чего все такие приложения будут иметь один и тот же HWID.
Однако если пользователь удалит все приложения с Pushwoosh SDK, а затем переустановит некоторые из них, будет сгенерирован новый HWID.
Пример HWID для Android: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e
HWID для iOS
Anchor link toДля устройств на iOS в качестве HWID используется IDFV (Identifier for Vendor). Он не меняется, пока на устройстве установлено хотя бы одно приложение от того же поставщика.
Пример HWID для iOS (только в верхнем регистре!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
Push-токен
Anchor link toPush-токен (токен устройства) — это уникальный ключ для комбинации приложения и устройства, выдаваемый шлюзами push-уведомлений Apple или Google. Он позволяет шлюзам и поставщикам push-уведомлений маршрутизировать сообщения и обеспечивать их доставку на уникальную комбинацию приложения и устройства, для которой они предназначены.
Push-токен для iOS
Anchor link toPush-токены для устройств iOS представляют собой строки из 64 шестнадцатеричных символов. Пример push-токена для iOS: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Push-токен для Android
Anchor link toPush-токены для устройств Android могут различаться по длине (обычно менее 255 символов) и, как правило, начинаются с APA91b…; однако они также могут иметь префикс, отделенный двоеточием. Пример push-токена для Android: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq
Сбор логов, HWID и push-токена с устройства
Anchor link toВо-первых, если у вас есть доступ к исходному коду вашего приложения, убедитесь, что Pushwoosh_LOG_LEVEL
в вашем приложении установлен на VERBOSE
. Для этого проверьте строковый ключ Pushwoosh_LOG_LEVEL
в вашем файле Info.plist
. Если это не так, переходите к следующему шагу. Вот возможные значения для этого ключа:
NONE
- Нет логов от SDKERROR
- Отображать только ошибки в консолиWARNING
- Также отображать предупрежденияINFO
- Добавить информационные сообщенияDEBUG
- Добавить отладочную информациюVERBOSE
- Все логи от SDK
Значение ключа VERBOSE
позволяет Pushwoosh SDK отображать важную информацию о действиях, связанных с регистрацией.
- Затем подключите устройство к вашему Mac и запустите Xcode. Перейдите в Window->Device and Simulators.

- В открывшемся окне выберите подключенное устройство и нажмите на треугольник в левом нижнем углу, чтобы увидеть консоль устройства:

Начиная с Xcode 9.3, процесс получения лога консоли устройства немного изменился. Все, что вам нужно сделать, — это зайти в Launchpad и запустить приложение «Консоль» (Console). Выберите свое устройство на боковой панели слева. Готово!

Далее, запустите ваше приложение на устройстве и дождитесь диалогового окна. Разрешите push-уведомления для вашего приложения.
После выполнения этих шагов выделите весь лог устройства из окна консоли и скопируйте его в любой текстовый редактор.
API-запрос Pushwoosh /registerDevice
— это то, что вам нужно:

Если устройство зарегистрировано правильно, этот запрос должен содержать следующие параметры, включая значения hwid и push token:
x| Запрос Pushwoosh:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"gateway":"production","jailbroken":0,"app_version":"1.9","application":"D868A-C13C1","sounds":["bubble.wav"],"device_type":1,"userId":"1457691684303547","language":"en","hwid":"FBCA07FE-05EE-4770-B4BA-AB6737BC1A98","package":"com.pushwoosh.pushon","timezone":"25200","push_token":"ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7","os_version":"11.2.2","v":"5.5.1","device_model":"iPhone7,1"}}| Статус: "200 no error"| Ответ: {"status_code":200,"status_message":"OK","response":{"iosCategories":[{"categoryId":0,"buttons":[{"id":"33389","label":"test","type":"0","startApplication":0},{"id":"1233","label":"ajhdkj","type":"1","startApplication":0}]}]}}x
Также должно появиться уведомление с push-токеном вашего устройства:
<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7
Android
Anchor link toЕсли у вас есть доступ к исходному коду приложения, убедитесь, что уровень логирования Pushwoosh установлен на
NOISE
. Для этого добавьте метаданныеcom.pushwoosh.log_level
со значениемNOISE
в файлAndroidManifest.xml
.Далее, запустите Android Studio на вашем Mac/ПК и перейдите в Tools -> Android -> Android Device Monitor.

- Подключите ваше устройство к Mac/ПК и запустите приложение. Подождите около 30 секунд, выделите весь лог устройства из окна консоли и скопируйте его в любой текстовый редактор.

Обратите внимание, что в последних версиях Android Studio вы также можете использовать инструмент Logcat для получения лога консоли устройства. Запустите Android Studio и перейдите в View -> Tool Windows -> Logcat:

После этого вы сможете найти лог устройства в окне Logcat:

Ниже приведен пример того, как API-запрос Pushwoosh /registerDevice выглядит в логе консоли устройства:

Найдите в запросе значения параметров hwid и push token:
[RequestManager]x| Запрос Pushwoosh:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"application":"D868A-C13C1","hwid":"fc79efabee7649ec","v":"5.5.2","device_type":3,"userId":"fc79efabee7649ec","device_name":"Phone","language":"en","timezone":25200,"android_package":"com.pushwoosh.pushon","jailbroken":0,"device_model":"Sony F8332","os_version":"8.0.0","idfa":"d43ad490-4e6a-48a8-b8b9-f20b76fbf07b","app_version":"1.5","push_token":"dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_","sounds":"[]"}}| Ответ: {"status_code":200,"status_message":"OK","response":null}x[RequestManager] registerDevice response success
Push-токен содержится в уведомлении о регистрации устройства:
I/Pushwoosh(12733): [DeviceRegistrar] Registered for pushes: dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_03-30 14:45:10.539: D/PushOn(12733): Registered for push notifications
Chrome (десктоп)
Anchor link toПерейдите на ваш сайт.
Нажмите правой кнопкой мыши в любом месте страницы и выберите «Inspect» (Проверить).

В открывшемся окне перейдите на вкладку «Application».
Затем на левой боковой панели выберите IndexedDB -> Pushwoosh_SDK_Store -> keyValue. Здесь найдите параметры HWID и push token.

Chrome (мобильный)
Anchor link toПодключите ваше мобильное устройство к компьютеру.
Откройте chrome://inspect/#devices в браузере Chrome на вашем компьютере.
Откройте ваш сайт в Chrome на мобильном устройстве.
Как только сайт откроется в мобильном Chrome, вы увидите соответствующую страницу в окне Chrome на компьютере. Пожалуйста, посмотрите на скриншот ниже:

Нажмите кнопку «Inspect», выделенную на скриншоте выше.
В Chrome на компьютере появится следующее окно. В нем на вкладке «Application» откройте IndexedDB -> PUSHWOOSH_SDK_STORE. После этого нажмите на keyValue и откройте раздел API_PARAMS:

В разделе API_PARAMS вы найдете параметры hwid и push token с их значениями.
Safari
Anchor link to- Перейдите на ваш сайт.
- Нажмите правой кнопкой мыши в любом месте страницы и выберите «Inspect Element» (Проверить объект).
- Перейдите на вкладку Storage -> Indexed Databases -> PUSHWOOSH_SDK_STORE -> keyValue.
- Разверните API_PARAMS и найдите здесь значения hwid и push token.
