Soporte para el seguimiento del reenganche mediante notificaciones push
Singular permite el seguimiento de notificaciones push para medir el re-engagement de las aplicaciones iOS. Mediante la integración de Apple Push Notification Service (APNs) y el SDK de Singular, puede realizar un seguimiento de las interacciones de los usuarios con las notificaciones push y atribuirlas con precisión.
Siga la siguiente guía de implementación para garantizar un seguimiento adecuado de las notificaciones push en su aplicación iOS.
¿Por qué es importante el seguimiento de las notificaciones push?
Las notificaciones push son esenciales para el reenganche del usuario, pero sin un seguimiento adecuado, su impacto no está claro. Singular garantiza que las interacciones de las notificaciones se atribuyen correctamente, lo que le permite optimizar las campañas de marketing y medir la retención de usuarios.
Guía de implementación
Paso 1: Registro para notificaciones push
Asegúrese de que su aplicación está correctamente registrada para notificaciones push utilizando UNUserNotificationCenter.
Ejemplos:
import UserNotifications
// Set the current instance as the delegate for the UNUserNotificationCenter to handle notifications
UNUserNotificationCenter.current().delegate = self
// Define the notification authorization options (alert, badge, sound)
let pushAuthOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
// Request notification authorization from the user
UNUserNotificationCenter.current().requestAuthorization(options: pushAuthOptions) { granted, error in
// If an error occurs during authorization, print the error description
if let error = error {
print("registerForPushNotifications : failure - \(error.localizedDescription)")
}
// If the user granted permission for notifications, register for remote notifications
if granted {
// Ensure that the registration for remote notifications is done on the main thread
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
- (void) registerForPushNotifications:(UIApplication *)application {
// Set delegate to self
[UNUserNotificationCenter currentNotificationCenter].delegate = self;
// Define the push notification options
UNAuthorizationOptions pushAuthOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound;
// Request push notification authorization
[[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:pushAuthOptions
completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (error) {
NSLog(@"registerForPushNotifications : failure - %@", error.localizedDescription);
}
if (granted) {
dispatch_async(dispatch_get_main_queue(), ^{
[application registerForRemoteNotifications];
});
}
}];
}
Este paso garantiza que su aplicación está configurada para recibir y gestionar notificaciones push.
Paso 2: Gestión de notificaciones push y paso de datos a Singular
Cuando se recibe una notificación push, debe procesarse y enviarse a Singular para su seguimiento.
Ejemplos:
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
// Pass the notification data to Singular for tracking.
Singular.handlePushNotification(response.notification.request.content.userInfo)
// Call the completion handler to indicate processing is complete.
completionHandler()
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void (^)(void))completionHandler {
// Extract the push notification payload (user info).
NSDictionary *userInfo = response.notification.request.content.userInfo;
// Log the userInfo dictionary for debugging purposes.
NSLog(@"didReceiveNotificationResponse userInfo = %@", userInfo);
// Pass the notification data to Singular for tracking.
[Singular handlePushNotification:userInfo];
// Call the completion handler to indicate processing is complete.
completionHandler();
}
Paso 3: Integración de la carga útil de la notificación push con Singular SDK
Asegúrese de que Singular SDK está correctamente configurado para gestionar las notificaciones push.
Ejemplos:
// Assuming config is an optional object, make sure it's not nil before using it
config?.pushNotificationLinkPath = [
["path", "to", "link"],["sng_link"]
]
// Start the Singular SDK with the given configuration (ensure config is valid)
Singular.start(config)
// Assuming config is already initialized and valid
config.pushNotificationLinkPath = @[
@[@"path", @"to", @"link"],
["sng_link"]
];
// Start the Singular SDK with the given configuration
[Singular start:config];
Este paso permite a Singular rastrear correctamente las interacciones de notificaciones push y atribuirlas en consecuencia.
Guía de validación
La llamada a la API de Singular SDK garantiza que el enlace de la carga útil de la notificación push se pasa correctamente bajo el parámetro reservado singular_link en la llamada de inicio de sesión.
Ejemplo:
https://skan.singular.net:443/api/v1/start?dnt=-1&update_time=0&c=wwan&singular_link_resolve_required=false&rt=plist&lag=0.00&is=false&event_index=10&d=iPhone14,7&skan_has_framework=true&sdk=Singular/12.7.1&skan_conversion_value_mode=managed&mo=iPhone14,7&skan_update_counter=1&i=com.singular.SwiftScene&config_version=0&k=IDFV&cr=1&skan_total_admon_revenue_by_currency={}&install_time=1740577866&n=SwiftScene&av=1.0&skan_skadnetwork_enabled=true&p=iOS&idfv=D159BFDC-D061-479B-AB24-0CE00C1FA2AA&att_authorization_status=0&device_type=phone&s=F90C41BF-99EC-48FC-ABF8-2781FF5A2799&skan_first_call_to_skadnetwork_timestamp=1740577882&u=D159BFDC-D061-479B-AB24-0CE00C1FA2AA&skan_last_call_to_skadnetwork_timestamp=1740577882&singular_install_id=554DBBE4-9842-46A8-9F9D-24B8A9BF83E3&v=18.2.1&singular_link=https://sl.sng.link/Cclbu/2a7n_dl=com.singular.flutterApplication1&_smtype=3&singular_link_resolve_timeout=0&pu=1&a=sdk<>key&skan_total_revenue_by_currency={}&h=8aee646bc4b796a5f8908ef8af677ba0fde70aa9</>
Alternativamente, puede utilizar la consola de Singular SDK para verificar el enlace de seguimiento de la notificación push bajo la URL Deeplink, como se demuestra a continuación.
Al verificar esto, puede confirmar que los compromisos de notificación push se rastrean correctamente en Singular SDK.
Notas:
- Tenga en cuenta que, a diferencia del código de singularLinksHandler, Singular SDK no proporciona devoluciones de llamada de carga útil push para esta función. Es responsabilidad del desarrollador de la aplicación leer los datos de la notificación push e implementar la lógica de enlace profundo para redirigir a los usuarios a páginas de productos específicas dentro de la aplicación. En esta solución, Singular recupera la carga útil de la notificación push cuando el usuario toca la notificación e incluye esta carga útil en el evento de inicio de sesión del SDK activado por Singular.start(). A continuación, estos datos se procesan en el backend de Singular para atribuir el punto de contacto/clic de la notificación push y registrarlo para el seguimiento del reenganche.
-
Disponemos de un mecanismo de seguridad que sólo permite dominios de enlace Singular a partir del par clave-valor personalizado pasado en la carga útil de la notificación push. En concreto, sólo se permiten los dominios sng.link predefinidos en la página Singular Manage Links.
Por ejemplo
https://prod_test.sng.link/B0s2a/51oi?_dl=singular%3A%2F%2Fmain
Si pretende envolver enlaces Singular dentro de un dominio diferente (por ejemplo, un dominio ESP para proveedores de servicios de correo electrónico), debe configurar explícitamente el dominio añadiendo la siguiente opción en su configuración: Esto garantiza que el dominio externo se reconozca y se permita dentro del marco de Singular. consulte el siguiente ejemplo de configuración. config.espDomains = @[@"sl.esp.link"];
-
Si necesita activar diferentes enlaces profundos en función de las acciones del usuario desde una única notificación push, puede utilizar un único enlace de seguimiento de Singular y modificar dinámicamente las redirecciones.
Ejemplo:
Una notificación push de noticias de última hora puede ofrecer varias opciones de enlaces profundos:
En lugar de crear varios enlaces de seguimiento, configure un enlace de seguimiento Singular y ajuste los redireccionamientos dinámicamente en función de la selección del usuario.
Leer últimas noticias →
Temas de actualidad →newsapp://article?id=12345
Deportes →newsapp://trending
newsapp://sports
Más información sobre la anulación de redirecciones en los enlaces de seguimiento de Singular.
Siguiendo estos pasos, tu aplicación iOS ya está configurada para realizar un seguimiento de las notificaciones push mediante Singular. Esto mejora el seguimiento del compromiso, optimiza las campañas de reenganche y mejora la precisión de la atribución.