Перейти к содержанию

Постоянный ID устройства (Keychain)

Модуль PushwooshKeychain обеспечивает постоянную идентификацию устройства (HWID), которая сохраняется после переустановки приложения. Это полезно для сценариев тестирования и разработки, когда необходимо сохранять один и тот же идентификатор устройства даже после переустановки приложения.

Как это работает

Anchor link to

По умолчанию iOS генерирует новый identifierForVendor (IDFV) при каждой переустановке приложения, что приводит к регистрации нового HWID в Pushwoosh. Модуль PushwooshKeychain сохраняет HWID в iOS Keychain, который сохраняется между переустановками приложения.

Определение среды

Anchor link to

Модуль автоматически определяет среду приложения и ведет себя по-разному:

СредаПостоянный HWID
СимуляторВключен
Debug/DevelopmentВключен
TestFlightВключен
App StoreОтключен

Установка

Anchor link to

Swift Package Manager

Anchor link to

Добавьте PushwooshKeychain в ваш таргет при интеграции Pushwoosh SDK:

  1. В Xcode перейдите в File → Add Package Dependencies
  2. Введите URL пакета: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. Выберите PushwooshKeychain в дополнение к обязательным фреймворкам
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Добавьте подспецификацию Keychain в ваш Podfile:

target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshKeychain'
end

Затем выполните:

Terminal window
pod install

Использование

Anchor link to

Никаких изменений в коде не требуется. Как только вы добавите модуль PushwooshKeychain в свой проект, он будет работать автоматически:

  1. При первом запуске приложения модуль генерирует HWID и сохраняет его в Keychain
  2. При последующих запусках (включая после переустановки) модуль извлекает сохраненный HWID
  3. SDK использует этот постоянный HWID для регистрации устройства в Pushwoosh

Сценарии использования

Anchor link to

Модуль PushwooshKeychain особенно полезен для:

  • QA-тестирования — Сохранение одного и того же идентификатора устройства при многократных установках приложения во время тестирования
  • Разработки — Сохранение постоянного таргетинга на устройство во время итераций над вашим приложением
  • Бета-тестирования в TestFlight — Отслеживание одних и тех же бета-тестеров при обновлениях и переустановках приложения

Устранение неполадок

Anchor link to

Проверка активности модуля

Anchor link to

Проверьте логи консоли Xcode при запуске вашего приложения. Вы должны увидеть лог-сообщение, подобное этому:

[Pushwoosh] Detected environment: Debug. Persistent HWID: ENABLED

или

[Pushwoosh] Detected environment: App Store. Persistent HWID: DISABLED

Очистка сохраненного HWID

Anchor link to

Если вам нужно сбросить постоянный HWID во время разработки, вы можете вызвать:

import PushwooshFramework
// Очистить сохраненный HWID из Keychain
Pushwoosh.Keychain.clearPersistentHWID()