Saltar al contenido

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 to

Por 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 to

El módulo detecta automáticamente el entorno de la aplicación y se comporta de manera diferente:

EntornoHWID Persistente
SimuladorHabilitado
Depuración/DesarrolloHabilitado
TestFlightHabilitado
App StoreDeshabilitado

Instalación

Anchor link to

Swift Package Manager

Anchor link to

Añade PushwooshKeychain a tu target al integrar el SDK de Pushwoosh:

  1. En Xcode, ve a File → Add Package Dependencies
  2. Introduce la URL del paquete: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. Selecciona PushwooshKeychain además de los frameworks requeridos
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Añade el subspec de Keychain a tu Podfile:

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

Luego ejecuta:

Terminal window
pod install

No se requieren cambios en el código. Una vez que añades el módulo PushwooshKeychain a tu proyecto, funciona automáticamente:

  1. En el primer lanzamiento de la aplicación, el módulo genera un HWID y lo almacena en el Keychain
  2. En lanzamientos posteriores (incluso después de una reinstalación), el módulo recupera el HWID almacenado
  3. El SDK utiliza este HWID persistente para el registro del dispositivo en Pushwoosh

Casos de uso

Anchor link to

El 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 to

Verificar que el módulo está activo

Anchor link to

Revisa 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: ENABLED

o

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

Limpiar el HWID almacenado

Anchor link to

Si necesitas restablecer el HWID persistente durante el desarrollo, puedes llamar a:

import PushwooshFramework
// Limpia el HWID almacenado del Keychain
Pushwoosh.Keychain.clearPersistentHWID()