Móvil: ¿qué son los callbacks de campañas de iOS y cómo se utilizan?

Last Updated mayo 5, 2026

Breve descripción general

A partir de la versión 1.6.0 del SDK de WalkMe Mobile, el SDK de WalkMe Mobile admite callbacks de campañas.

Los callbacks son una forma programática para que una aplicación se registre en los eventos de WalkMe Campaign. Al implementar la interfaz de Campaign Callbacks, las aplicaciones pueden utilizar los datos transferidos a través de los objetos de callback (incluida la información de la campaña y del usuario) y utilizarlos para los fines de la aplicación, como pasar esa información a cualquier análisis o sistema de CRM no relacionado con WalkMe, o actualizar cualquier configuración de aplicación o usuario según la interacción del usuario con la Campaña.

Casos de uso

Los callbacks de campaña se pueden utilizar para lo siguiente y mucho más:

  • Realizar un seguimiento de la integración de usuarios desde cualquier sistema de análisis.
  • Genera oportunidades en un CRM basado en la interacción del usuario con WalkMe Shoutout, por ejemplo: "¿Estás interesado en una demostración gratuita? Sí / No".
  • Integra con los sistemas de soporte existentes para realizar un seguimiento y comparar el uso y la finalización de WalkThru con los principales temas de tickets de soporte.

A continuación se muestra una descripción de todos los pasos necesarios para implementar callbacks de campaña.

Uso de Callbacks de campaña.

Para poder registrarte en los callbacks de campaña, primero implementa este protocolo:

/**
 * Definición de la interfaz para que se invoque un callback en las acciones de la campaña.
 */
@protocol WMCampaignInfoDelegate <NSObject>

/**
 * Llamado después de que se descartara la campaña.
 *
 * @param campaignInfo La información de la campaña descartada.
 */
- (void)campaignDidDismiss:(WMCampaignInfo *)campaignInfo;

@end

Después de implementar el protocolo, utiliza el método para registrarte en los eventos de callback de la campaña:

/**
 * Registrar un delegado para los eventos de campaña
 *
 *@param delegate El delegate
 *
 */
+ (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;

El objeto de retorno de callback será de clase , que incluye la siguiente información:

Elemento Recuperado por: Descripción
CTA de la campaña campaginCta

El CTA de la campaña con el que ha interactuado el usuario de la aplicación.

Para todos los CTAs excepto el personalizado, el CTA devuelto será:
abbi://cta , por ejemplo: abbi://ok o abbi://never

ID de campaña campaignId El ID único asignado a la campaña.
ID de CTA de la campaña campaignCtaId El ID único para el CTA de la campaña.
Datos de usuario userData Un objeto que contiene información sobre el usuario que interactuó con la campaña. Consulta la descripción completa del objeto a continuación.
Datos de campaña campaignData Un objeto de marcador añadido para un posible uso futuro de datos adicionales añadidos a la campaña. Los datos de envío de la encuesta se rellenan aquí.
@interface WMCampaignInfo : NSObject

@property (nonatomic,strong) NSString* campaginCta;
@property (nonatomic,strong) NSString* campaignCtaId;
@property (nonatomic,strong) NSString* campaignId;
@property (nonatomic,strong) WMUserData* userData;
@property (nonatomic,strong) NSDictionary* campaignData;

@end

Como se mencionó anteriormente, incluye el objeto , que se describe a continuación:

Elemento Recuperado por: Descripción
Atributos públicos de usuarios *userAttributes Todos los atributos públicos del usuario que se establecieron para el usuario de la aplicación en el momento en que el usuario interactuó con la campaña. La lista siempre incluirá la clave de atributo y su valor, por ejemplo, { "lead_id" : "12345" , "account_type" : "family"}
Atributos privados del usuario *privateUserAttributes Todos los atributos privados del usuario que se establecieron para el usuario de la aplicación en el momento en que el usuario interactuó con la campaña. La lista siempre incluirá la clave de atributo y su valor, por ejemplo, { "lead_id" : "12345" , "account_type" : "family"}
Duración de la sesión sessionDuration Cuánto tiempo duró la sesión del usuario en el momento en que el usuario realizó la interacción de la campaña.
Versión para iOS systemVersion La versión del sistema operativo del usuario
ID único del dispositivo deviceId El ID único del dispositivo
Modelo de dispositivo deviceModel El modelo del dispositivo del usuario.
Orientación del dispositivo deviceOrientation La orientación del dispositivo en el momento en que el usuario interactuó con la campaña.
Versión de la aplicación appVersion La versión de la aplicación que está utilizando el usuario
Nombre de la aplicación appName El nombre de la aplicación
Locale locale La configuración regional del dispositivo del usuario.
Versión del SDK sdkVer La versión del SDK integrada con la aplicación que está utilizando el usuario.
ID de sesión sessionId El ID de sesión único generado por WalkMe.
Estado de las notificaciones push isPushEnabled ¿Ha activado el usuario las notificaciones push para la aplicación (verdadero / falso). Si la aplicación no presenta notificaciones push, el valor será "falso".
Zona horaria del dispositivo zona horaria La zona horaria del usuario establecida en el dispositivo.
Red red El tipo de red que está utilizando el usuario: WiFi / Celular / Sin conexión.
Nombre del sistema systemName El nombre del sistema operativo del usuario: en este caso siempre será "iOS".
Marca de tiempo del usuario actual marca de tiempo La marca de tiempo actual del usuario.

Esta es la estructura del objeto:

@interface WMUserData : NSObject

/** 
* Atributos de usuario en la sesión actual.
*/
@property (nonatomic,strong) NSDictionary *userAttributes;

/**
* Atributos privados del usuario en la sesión actual.
*/
@property (nonatomic,strong) NSDictionary *privateUserAttributes;

/**
 * Duración de la sesión del usuario en segundos.
 */
@property (nonatomic,strong) NSNumber* sessionDuration;

/**
 * Versión de iOS del usuario
 */
@property (nonatomic,strong) NSString* systemVersion;

/**
 ID único del dispositivo
 */
@property (nonatomic,strong) NSString* deviceId;

/**
 * Modelo de dispositivo.
 */
@property (nonatomic,strong) NSString* deviceModel;

/**
 * Orientación del dispositivo PRT_REG / LSL.
 */
@property (nonatomic,strong) NSString* deviceOrientation;

/**
 * La versión de la aplicación.
 */
@property (nonatomic,strong) NSString* appVersion;

/**
 * El nombre de la aplicación.
 */
@property (nonatomic,strong) NSString* appName;

/**
 * Idioma local del dispositivo del usuario.
 */
@property (nonatomic,strong) NSString* locale;

/**
 * Versión del SDK de WalkMe.
 */
@property (nonatomic,strong) NSString* sdkVer;

/**
 * ID único de sesión.
 */
@property (nonatomic,strong) NSString* sessionId;

/**
 * Si la notificación Push está aprobada para el usuario.
 */
@property (nonatomic,strong) NSString* isPushEnabled;

/**
 * Zona horaria del dispositivo del usuario.
 */
@property (nonatomic,strong) NSString* timezone;

/**
 * Red actual del usuario ( WIFI / 3G).
 */
@property (nonatomic,strong) NSString* network;

/**
 * Nombre del sistema operativo del usuario.
 */
@property (nonatomic,strong) NSString* systemName;

/**
 * Marca de tiempo actual para este usuario.
 */
@property (nonatomic,strong) NSString* timestamp;

@end

Was this article helpful?

Thanks for your feedback!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Explore our community
×