Saltar al contenido

Preguntas frecuentes sobre el SDK de iOS

Preguntas frecuentes sobre la integración de iOS

Anchor link to

P: ¿Cómo puedo instalar el SDK de Pushwoosh en mi proyecto de iOS?

Anchor link to

Puede integrar el SDK de Pushwoosh utilizando Swift Package Manager o CocoaPods.

P: ¿Cómo instalo el SDK de Pushwoosh utilizando Swift Package Manager?

Anchor link to

En Xcode, navegue a la sección Package Dependencies y agregue el paquete utilizando la siguiente URL: https://github.com/Pushwoosh/Pushwoosh-XCFramework.

P: ¿Cómo instalo el SDK de Pushwoosh utilizando CocoaPods?

Anchor link to

Abra el Podfile de su proyecto y agregue la línea pod 'PushwooshXCFramework'. Luego, ejecute el comando pod install en la terminal.

P: ¿Qué capacidades necesito agregar a mi proyecto para habilitar las Notificaciones Push?

Anchor link to

En la sección Signing & Capabilities de la configuración de su proyecto, necesita agregar las capacidades Push Notifications y Background Modes. Al agregar Background Modes, asegúrese de marcar la casilla para Remote notifications.

P: ¿Qué capacidad adicional se requiere para las Notificaciones Sensibles al Tiempo (Time Sensitive Notifications)?

Anchor link to

Si tiene la intención de usar Notificaciones Sensibles al Tiempo (iOS 15+), también necesita agregar la capacidad Time Sensitive Notifications.

P: ¿Dónde necesito agregar el código de inicialización de Pushwoosh?

Anchor link to

El código de inicialización debe agregarse a su clase AppDelegate.

P: ¿Qué código de inicialización debo agregar en el AppDelegate de SwiftUI?

Anchor link to

Consulte el ejemplo de código Swift proporcionado para integrar Pushwoosh en un proyecto de SwiftUI.

P: ¿Qué código de inicialización debo agregar en un AppDelegate estándar de Swift?

Anchor link to

Consulte el ejemplo de código Swift proporcionado para integrar Pushwoosh en un proyecto estándar de Swift.

P: ¿Qué código de inicialización debo agregar en un AppDelegate de Objective-C?

Anchor link to

Consulte el ejemplo de código Objective-C proporcionado para integrar Pushwoosh en un proyecto de Objective-C.

P: ¿Qué claves necesito agregar a mi archivo Info.plist?

Anchor link to

Necesita agregar la clave Pushwoosh_APPID establecida con su Código de Aplicación y la clave PW_API_TOKEN establecida con su Token de API en el archivo Info.plist de su aplicación.

P: ¿Cuál es el propósito del seguimiento de la entrega de mensajes?

Anchor link to

Pushwoosh admite el seguimiento de eventos de entrega para notificaciones push utilizando la Notification Service Extension.

P: ¿Cómo agrego una Notification Service Extension a mi proyecto?

Anchor link to

En Xcode, vaya a File > New > Target…, elija Notification Service Extension y presione Next. Ingrese un nombre de destino y presione Finish. Cuando se le pida activarlo, presione Cancel.

P: ¿Cómo agrego el SDK de Pushwoosh a la Notification Service Extension?

Anchor link to

Agregue el fragmento de código Swift u Objective-C proporcionado al archivo principal .swift o .m de su Notification Service Extension. Este código utiliza PWNotificationExtensionManager para manejar la solicitud de notificación.

P: ¿Cuál es el propósito de los App Groups?

Anchor link to

La capacidad de App Groups es necesaria para permitir que la Notification Service Extension se comunique con la aplicación principal.

P: ¿Cómo habilito los App Groups para mi objetivo principal y la Notification Service Extension?

Anchor link to

Para ambos objetivos, vaya a Signing & Capabilities, agregue la capacidad App Groups y cree un nuevo grupo presionando el botón +. Asegúrese de que el nombre del grupo comience con group. y use el mismo nombre de grupo para ambos objetivos.

P: ¿Qué claves necesito agregar al Info.plist de mi objetivo principal para los App Groups?

Anchor link to

En el Info.plist de su objetivo principal, agregue la clave PW_APP_GROUPS_NAME y establezca su valor con el nombre de su grupo de App Groups.

P: ¿Qué claves necesito agregar al Info.plist de mi Notification Service Extension?

Anchor link to

En el Info.plist de su Notification Service Extension, agregue la clave PW_APP_GROUPS_NAME (establecida con el nombre de su App Groups) y la clave Pushwoosh_APPID (establecida con su Código de Aplicación).

P: ¿Cómo verifico la integración de Pushwoosh?

Anchor link to

Después de compilar y ejecutar su proyecto, vaya al Panel de Control de Pushwoosh y envíe una notificación push a su aplicación. Debería ver aparecer la notificación en su dispositivo.

P: ¿Cuáles son los dos callbacks principales para manejar las notificaciones push en el SDK de Pushwoosh?

Anchor link to

Los dos callbacks principales son onMessageReceived y onMessageOpened.

P: ¿Cuándo se invoca el callback onMessageReceived?

Anchor link to

El método onMessageReceived se llama cuando la aplicación recibe una notificación push.

P: ¿Cuándo se invoca el callback onMessageOpened?

Anchor link to

El método onMessageOpened se llama cuando el usuario interactúa y abre una notificación push.

P: ¿Cómo puedo acceder al payload de una notificación push recibida o abierta?

Anchor link to

Se puede acceder al payload de un objeto PWMessage (pasado a los callbacks onMessageReceived y onMessageOpened) a través de su propiedad payload.

P: ¿Cómo puedo establecer un ID de usuario en Pushwoosh?

Anchor link to

Use el método setUserId(_:) del objeto Pushwoosh.sharedInstance(), pasando el ID del usuario como argumento.

P: ¿Cómo puedo establecer la dirección de correo electrónico de un usuario en Pushwoosh?

Anchor link to

Use el método setEmail(_:) del objeto Pushwoosh.sharedInstance(), proporcionando el correo electrónico del usuario.

¿Cómo puedo establecer información adicional del usuario como etiquetas (tags) en Pushwoosh?

Anchor link to

Use el método setTags(_:) del objeto Pushwoosh.sharedInstance(), pasando un diccionario donde las claves son los nombres de las etiquetas y los valores son los valores de etiqueta correspondientes.

¿Cómo puedo rastrear un evento de usuario con atributos adicionales?**

Anchor link to

Use el método postEvent(_:withAttributes:) de PWInAppManager.shared(), proporcionando el nombre del evento (p. ej., "login") y un diccionario de atributos (p. ej., "name", "last_login").

P: ¿Cómo puedo rastrear un evento de compra de usuario con detalles del producto?

Anchor link to

Use el método postEvent(_:withAttributes:) de PWInAppManager.shared() con el nombre de evento "purchase" y un diccionario que contenga detalles del producto como "product_id", "product_name", "price" y "quantity".

P: ¿Cómo configuro un delegado para manejar la presentación de rich media?

Anchor link to

En su view controller u otra clase apropiada, adáptese al protocolo PWRichMediaPresentingDelegate y establezca la propiedad delegate de PWRichMediaManager.shared() a su instancia conforme.

P: ¿Cómo puedo configurar el estilo de presentación de rich media?

Anchor link to

Use el objeto PWModalWindowConfiguration.shared() para configurar propiedades como la posición de la ventana modal y las animaciones de presentación/ocultación utilizando el método configureModalWindow(with:present:dismiss:).

P: ¿A qué información puedo acceder en los métodos del delegado de rich media?**

Anchor link to

Los métodos del delegado proporcionan acceso al objeto PWRichMedia, que contiene información sobre el contenido de rich media, incluido su pushPayload. El método presentingDidFailForRichMedia:withError: también proporciona un objeto Error que describe el fallo.

Solución de problemas

Anchor link to

P: Error “Su perfil de aprovisionamiento no tiene entrada APS”

Anchor link to

Si ve el mensaje de error “Su perfil de aprovisionamiento no tiene entrada APS.”, asegúrese de que su perfil de aprovisionamiento sea compatible con push y tenga la cadena aps-environment con el valor production o development. La forma más fácil de verificarlo es abrir el perfil de aprovisionamiento móvil en cualquier editor de texto y buscar la cadena aps-environment. Debería estar allí.

Si está, y sigue recibiendo el error, significa que XCode todavía está seleccionando un perfil “no compatible con push”. Por favor, asegúrese de firmar con el correcto; a veces, si tiene dos perfiles para el mismo App ID, XCode se confunde y firma con el antiguo.

Los pasos recomendados son:

  1. Eliminar todos los perfiles de XCode;
  2. Agregar el único y nuevo perfil;
  3. Recompilar la aplicación.

P: ¿Cómo se ven el push token de iOS y el hwid?

Anchor link to

Los push tokens de dispositivos iOS son cadenas con 64 símbolos hexadecimales. Ejemplo de push token:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Asegúrese de que los push tokens de iOS que utiliza al dirigirse a dispositivos específicos en sus solicitudes de API estén en minúsculas.

Pushwoosh utiliza IDFV como el HWID del dispositivo. Tenga en cuenta que puede cambiar en caso de que el usuario reinstale todas las aplicaciones de un proveedor específico.

CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

P: ¿Cómo activo y desactivo el banner cuando mi aplicación se está ejecutando?

Anchor link to

Por defecto, nuestro último SDK de iOS muestra el banner de notificación cuando la aplicación se está ejecutando en primer plano.
Puede controlar este comportamiento cambiando las siguientes banderas en el Info.plist:

Bandera Pushwoosh_ALERT_TYPE – tipo cadena, los valores son:

  • BANNER – valor predeterminado, muestra una alerta de banner en la aplicación
  • ALERT – notificación de alerta
  • NONE – no mostrar notificaciones cuando la aplicación está en primer plano

P: ¿Cómo obtengo el push token de mi dispositivo iOS para usarlo en Dispositivos de Prueba?

Anchor link to

Para obtener el push token de su dispositivo iOS,

  1. Abra Xcode => Devices & Simulators;
  2. Conecte el dispositivo de prueba a su computadora;
  3. Seleccione su dispositivo conectado en la lista de dispositivos a la izquierda;
  4. Haga clic en el botón Open Console.

Inicie la aplicación para la cual necesita el push token del dispositivo y localice su push token de 64 caracteres hexadecimales en la línea “Registered for push notifications”:

P: ¿Por qué los badges no se borran después de desinstalar mi aplicación y reinstalarla en un corto período de tiempo?

Anchor link to

Es un comportamiento esperado: los badges son manejados por el propio iOS y sus valores se almacenan en las preferencias de la aplicación, que no se eliminan instantáneamente cuando desinstala su aplicación. El valor de un badge permanece allí durante algún tiempo en caso de reinstalación inmediata, lo que resulta en que se muestren los mismos badges después de reinstalar una aplicación.