SDK para iOS - Seguimiento de la desinstalación

Documento

Seguimiento de desinstalaciones

Realice un seguimiento de las desinstalaciones de aplicaciones para medir la retención de usuarios y optimizar las campañas de reenganche integrando Apple Push Notification Service (APNs) con Singular SDK.

Importante: El seguimiento de desinstalaciones requiere la configuración de APNs en su aplicación. Consulte la documentación de UserNotifications Framework de Applepara obtener información detallada sobre la implementación.

Requisitos previos

Configure Singular Platform

Antes de implementar el seguimiento de desinstalaciones en su aplicación, configure su aplicación en la plataforma Singular siguiendo la guía Configuración del seguimiento de desinstalaciones de iOS.


Requisitos del sistema

El seguimiento de desinstalaciones requiere el servicio Apple Push Notification Service y configuraciones específicas del dispositivo.

Requisitos de APNs(fuente):

  • Versión de iOS: Los dispositivos deben ejecutar iOS 10.0 o superior para el framework UserNotifications
  • Certificado APNs: Configurar certificados o tokens de APNs en el portal de desarrolladores de Apple
  • Capacidad Push: Habilitar la capacidad de notificaciones push en la configuración del proyecto Xcode
  • Permiso de usuario: Solicitar y obtener la autorización del usuario para las notificaciones push

Nota: Los usuarios que rechacen los permisos de notificaciones push o utilicen dispositivos sin soporte de APNs no serán rastreados para desinstalaciones.


Pasos de implementación

Paso 1: Habilitar notificaciones push

Configure su proyecto Xcode para que admita notificaciones push si aún no están habilitadas.

  1. Abra su proyecto en Xcode
  2. Seleccione el destino de su aplicación y vaya a Firma y capacidades
  3. Haga clic en + Capacidad y añadir notificaciones push
  4. Asegúrese de que la opción Notificaciones remotas está marcada en Modos en segundo plano.

Paso 2: Solicitar la autorización del usuario

Solicite permiso a los usuarios para recibir notificaciones push utilizando el framework UserNotifications.

SwiftObjective-C
import UIKit
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {
    
    func application(_ application: UIApplication, 
                    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        // Set notification delegate
        UNUserNotificationCenter.current().delegate = self
        
        // Request authorization for notifications
        let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
        UNUserNotificationCenter.current().requestAuthorization(options: authOptions) { granted, error in
            if let error = error {
                print("Notification authorization error: \(error.localizedDescription)")
            }
            
            if granted {
                // Register for remote notifications on main thread
                DispatchQueue.main.async {
                    application.registerForRemoteNotifications()
                }
            }
        }
        
        return true
    }
}

Paso 3: Registrar el token de dispositivo APNs

Recupere el token de dispositivo APNs y envíelo a Singular para el seguimiento de la desinstalación.

Recuperar y establecer el token

Implemente la devolución de llamada didRegisterForRemoteNotificationsWithDeviceToken para capturar el token de APNs y registrarlo en Singular.

SwiftObjective-C
import Singular

func application(_ application: UIApplication, 
                didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    
    // Register the device token with Singular for uninstall tracking
    Singular.registerDeviceToken(forUninstall: deviceToken)
    
    print("APNs device token registered with Singular")
    
    // Also send to your server if needed for your own push notifications
    sendTokenToServer(deviceToken)
}

func application(_ application: UIApplication, 
                didFailToRegisterForRemoteNotificationsWithError error: Error) {
    print("Failed to register for remote notifications: \(error.localizedDescription)")
}

private func sendTokenToServer(_ deviceToken: Data) {
    // Implement your server communication logic here
}

Práctica recomendada: Llame a registerDeviceTokenForUninstall inmediatamente después de recibir el token para asegurarse de que el seguimiento de desinstalación está activado desde la primera sesión de la aplicación.


Formato de datos del token

Pase el token de dispositivo APNs a Singular en su formato binario nativo tal y como lo recibió de Apple.

Importante: El token de APNs es un dato binario (NSData/Data). Páselo directamente a Singular sin convertirlo. Si su aplicación necesita convertir el token a una cadena hexadecimal para otros fines, mantenga el objeto NSData original para Singular.

Ejemplo de formato hexadecimal:b0adf7c9730763f88e1a048e28c68a9f806ed032fb522debff5bfba010a9b052


Método de configuración alternativo

Establezca el token durante la inicialización

Si dispone del token APNs antes de la inicialización del SDK, configúrelo en el objeto SingularConfig.

SwiftObjective-C
// Get cached token if available
if let cachedToken = getCachedAPNsToken() {
    let config = SingularConfig(apiKey: "SDK_KEY", andSecret: "SDK_SECRET")
    config?.apnsDeviceToken = cachedToken
    
    Singular.start(config)
}

func getCachedAPNsToken() -> Data? {
    // Implement your token caching logic here
    return nil
}

Firma del método:

@property (nonatomic, strong) NSData *apnsDeviceToken;

Verificación y resolución de problemas

Verificación de la implementación

Confirme que el seguimiento de desinstalación funciona correctamente.

  1. Compruebe los registros: Compruebe que el registro de tokens de APN aparece en los registros.
  2. Compruebe la generación de tokens: Asegúrese de que los tokens se generan en el primer lanzamiento de la aplicación.
  3. Supervise el panel de control: Compruebe los datos de seguimiento de desinstalación del panel de Singular después de 24-48 horas.
  4. Probar permisos: Compruebe que la notificación de autorización aparece y funciona correctamente

Problemas comunes

  • Token no generado: Compruebe que la función de notificaciones push está activada en Xcode y que los certificados APN están configurados en el portal para desarrolladores de Apple.
  • Permisos rechazados por el usuario: Implementar la lógica para gestionar los permisos de notificación rechazados con elegancia
  • Datos que faltan: Asegúrese de que los dispositivos ejecutan iOS 10.0+ y los usuarios han concedido permisos de notificación
  • Error de configuración: Confirmar que el seguimiento de desinstalación está activado en los ajustes de la plataforma Singular
  • Limitaciones del simulador: Los tokens APNs no están disponibles en el simulador de iOS; pruébalo en dispositivos físicos

Recursos adicionales: Para obtener información detallada sobre la solución de problemas, consulta la Guía de configuración del seguimiento de desinstalacionesy la documentación de UserNotifications de Apple.