Постоянный 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 toSwift Package Manager
Anchor link toДобавьте PushwooshKeychain в ваш таргет при интеграции Pushwoosh SDK:
- В Xcode перейдите в File → Add Package Dependencies
- Введите URL пакета:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Выберите
PushwooshKeychainв дополнение к обязательным фреймворкам
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshKeychain— Постоянный ID устройстваPushwooshLiveActivities— Поддержка Live ActivitiesPushwooshVoIP— VoIP push-уведомленияPushwooshForegroundPush— Пользовательские уведомления в активном режиме
CocoaPods
Anchor link toДобавьте подспецификацию Keychain в ваш Podfile:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshKeychain'endЗатем выполните:
pod installИспользование
Anchor link toНикаких изменений в коде не требуется. Как только вы добавите модуль PushwooshKeychain в свой проект, он будет работать автоматически:
- При первом запуске приложения модуль генерирует HWID и сохраняет его в Keychain
- При последующих запусках (включая после переустановки) модуль извлекает сохраненный HWID
- 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 из KeychainPushwoosh.Keychain.clearPersistentHWID()@import PushwooshFramework;
// Очистить сохраненный HWID из Keychain[Pushwoosh.Keychain clearPersistentHWID];