Móvil: ¿Qué son los callbacks de campaña para iOS y cómo se utilizan?
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ña.
Los callbacks son una forma programática para que una aplicación se registre en los eventos de la campaña de WalkMe. 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 emplearlos para los fines de la aplicación, como pasar esa información a cualquier sistema de análisis o CRM no relacionado con WalkMe, o actualizar cualquier configuración de aplicaciones o usuarios basándose en cómo el usuario interactúe 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:
/** * Interface definition for a callback to be invoked in Campaign actions. */ @protocol WMCampaignInfoDelegate <NSObject> /** * Called after campaign was dismissed. * * @param campaignInfo The dismissed campaign info. */ - (void)campaignDidDismiss:(WMCampaignInfo *)campaignInfo; @end
Después de implementar el protocolo, utiliza el método para registrarse en los eventos de callback de la campaña:
/** * Register a delegate to campaign events * *@param delegate The delegate * */ + (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;
El objeto de retorno de callback será de la 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á: |
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,
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 | Duración de la sesión | 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 | Versión del sistema | La versión del sistema operativo del usuario |
ID único del dispositivo | Identificador del dispositivo | El ID único del dispositivo |
Modelo de dispositivo | modeloDispositivo | El modelo del dispositivo del usuario. |
Orientación del dispositivo | orientaciónDispositivo | 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 | configuración regional | 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 | estáPushHabilitado | ¿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 | nombreDelSistema | 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
@interface WMUserData : NSObject /** * User Attributes in current session. */ @property (nonatomic,strong) NSDictionary *userAttributes; /** * Private User Attributes in current session. */ @property (nonatomic,strong) NSDictionary *privateUserAttributes; /** * User Session Duration in second. */ @property (nonatomic,strong) NSNumber* sessionDuration; /** * User's iOS version */ @property (nonatomic,strong) NSString* systemVersion; /** * Device Unique ID */ @property (nonatomic,strong) NSString* deviceId; /** * Device Model. */ @property (nonatomic,strong) NSString* deviceModel; /** * Device Orientation PRT_REG / LSL. */ @property (nonatomic,strong) NSString* deviceOrientation; /** * The application version. */ @property (nonatomic,strong) NSString* appVersion; /** * The application name. */ @property (nonatomic,strong) NSString* appName; /** * Locale language for user's device. */ @property (nonatomic,strong) NSString* locale; /** * WalkMe SDK version. */ @property (nonatomic,strong) NSString* sdkVer; /** * Session unique id. */ @property (nonatomic,strong) NSString* sessionId; /** * If Push notification approved for user. */ @property (nonatomic,strong) NSString* isPushEnabled; /** * User device timezone. */ @property (nonatomic,strong) NSString* timezone; /** * User current network ( WIFI / 3G ). */ @property (nonatomic,strong) NSString* network; /** * User OS System Name. */ @property (nonatomic,strong) NSString* systemName; /** * Current Timestamp for this User. */ @property (nonatomic,strong) NSString* timestamp; @end