ID de Dispositivo Persistente (Keychain)
El módulo PushwooshKeychain proporciona una identificación de dispositivo (HWID) persistente que sobrevive a la reinstalación de la aplicación. Esto es útil para escenarios de prueba y desarrollo donde necesitas mantener la misma identidad de dispositivo incluso después de reinstalar la aplicación.
Cómo funciona
Anchor link toPor defecto, iOS genera un nuevo identifierForVendor (IDFV) cada vez que se reinstala una aplicación, lo que resulta en un nuevo HWID registrado en Pushwoosh. El módulo PushwooshKeychain almacena el HWID en el Keychain de iOS, que persiste entre reinstalaciones de la aplicación.
Detección de entorno
Anchor link toEl módulo detecta automáticamente el entorno de la aplicación y se comporta de manera diferente:
| Entorno | HWID Persistente |
|---|---|
| Simulador | Habilitado |
| Depuración/Desarrollo | Habilitado |
| TestFlight | Habilitado |
| App Store | Deshabilitado |
Instalación
Anchor link toSwift Package Manager
Anchor link toAñade PushwooshKeychain a tu target al integrar el SDK de Pushwoosh:
- En Xcode, ve a File → Add Package Dependencies
- Introduce la URL del paquete:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Selecciona
PushwooshKeychainademás de los frameworks requeridos
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshKeychain— ID de dispositivo persistentePushwooshLiveActivities— Soporte para Live ActivitiesPushwooshVoIP— Notificaciones push VoIPPushwooshForegroundPush— Notificaciones personalizadas en primer plano
CocoaPods
Anchor link toAñade el subspec de Keychain a tu Podfile:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshKeychain'endLuego ejecuta:
pod installNo se requieren cambios en el código. Una vez que añades el módulo PushwooshKeychain a tu proyecto, funciona automáticamente:
- En el primer lanzamiento de la aplicación, el módulo genera un HWID y lo almacena en el Keychain
- En lanzamientos posteriores (incluso después de una reinstalación), el módulo recupera el HWID almacenado
- El SDK utiliza este HWID persistente para el registro del dispositivo en Pushwoosh
Casos de uso
Anchor link toEl módulo PushwooshKeychain es particularmente útil para:
- Pruebas de QA — Mantener la misma identidad de dispositivo a través de múltiples instalaciones de la aplicación durante las pruebas
- Desarrollo — Mantener una segmentación de dispositivos consistente mientras iteras en tu aplicación
- Pruebas beta en TestFlight — Rastrear a los mismos beta testers a través de actualizaciones y reinstalaciones de la aplicación
Solución de problemas
Anchor link toVerificar que el módulo está activo
Anchor link toRevisa los registros de la consola de Xcode cuando se inicie tu aplicación. Deberías ver un mensaje de registro como:
[Pushwoosh] Detected environment: Debug. Persistent HWID: ENABLEDo
[Pushwoosh] Detected environment: App Store. Persistent HWID: DISABLEDLimpiar el HWID almacenado
Anchor link toSi necesitas restablecer el HWID persistente durante el desarrollo, puedes llamar a:
import PushwooshFramework
// Limpia el HWID almacenado del KeychainPushwoosh.Keychain.clearPersistentHWID()@import PushwooshFramework;
// Limpia el HWID almacenado del Keychain[Pushwoosh.Keychain clearPersistentHWID];