Saltar al contenido

Seguimiento de la entrega de mensajes en iOS

Existe un método de API en Pushwoosh que realiza un seguimiento de la entrega de notificaciones push. Las aplicaciones de iOS no son compatibles con este método de forma nativa, ya que las notificaciones push en iOS son manejadas por el sistema operativo (OS), no por el SDK de Pushwoosh. Sin embargo, puedes implementar el seguimiento de la entrega agregando la Extensión de Servicio de Notificaciones de Pushwoosh para el seguimiento de la entrega de push a tu proyecto. Aquí encontrarás los pasos para implementar el Seguimiento de la Entrega de Mensajes para aplicaciones de iOS.

Agregar la Extensión de Servicio de Notificaciones

Anchor link to
  1. En Xcode, selecciona Archivo > Nuevo > Target…

  2. Selecciona Notification Service Extension y presiona Siguiente.

  1. Ingresa el nombre del producto y presiona Finalizar.
  1. Presiona Cancelar en el aviso de Activar esquema.

Al cancelar, mantienes Xcode depurando tu aplicación, en lugar de la extensión que acabas de crear. Si la activaste por accidente, puedes volver a depurar tu aplicación dentro de Xcode.

Dependencias para la Extensión de Servicio de Notificaciones (solo CocoaPods)

Anchor link to

Nota: Si estás utilizando Swift Package Manager para gestionar las dependencias, puedes omitir este paso, ya que las dependencias se agregan automáticamente.

Abre tu Podfile y agrega la dependencia para el target:

Podfile
target 'NotificationServiceExtension' do
use_frameworks!
pod 'PushwooshXCFramework'
end

Ejecuta los siguientes comandos en la terminal para instalar las dependencias:

Terminal window
rm -rf Podfile.lock
pod deintegrate
pod setup
pod repo update
pod install

Agregar código para el seguimiento de eventos de entrega de mensajes

Anchor link to
  1. Agrega el siguiente código a tu archivo NotificationService.m:
import UserNotifications
import PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler)
}
}
  1. Agrega Pushwoosh_APPID a tu info.plist de la Extensión de Servicio de Notificaciones.
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>

Comparte tus comentarios con nosotros

Anchor link to

Tus comentarios nos ayudan a crear una mejor experiencia, por lo que nos encantaría saber de ti si tienes algún problema durante el proceso de integración del SDK. Si encuentras alguna dificultad, no dudes en compartir tus ideas con nosotros a través de este formulario.