Móvil: ¿Qué son las devoluciones de llamada de campaña de Android 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ñ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 devoluciones de llamada de campaña, las aplicaciones pueden utilizar los datos transferidos a través de los objetos de devolución de llamada (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 sistema de análisis o 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
Las devoluciones de llamada 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.
Pasos para implementar devoluciones de llamada de campaña.
Para poder registrarte en los callbacks de campaña, primero implementa esta interfaz:
/** * Interface definition for a callback to be invoked in Campaign actions. */ public interface WMCampaignInfoListener { /** * Called after campaign was dismissed. * * @param campaignInfo The dismissed campaign info. */ void onCampaignDismissed(WMCampaignInfo campaignInfo); }
Después de implementar la interfaz, utiliza el método
/** * Register a listener to campaign events * *@param campaignInfoListener The listener * */ public static void setCampaignInfoListener(WMCampaignInfoListener campaignInfoListener)
El objeto de retorno de la devolución de llamada será de la clase, que incluye la siguiente información:
Elemento | Recuperado por: | Descripción |
CTA de la campaña | getCampaignCta() |
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 | getCampaignId() | El ID único asignado a la campaña. |
ID de CTA de la campaña | getCampaignCtaId() | El ID único para el CTA de la campaña. |
Datos de usuario | getUserData() | 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 | getCampaignData() | 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í. |
Esta es la estructura del
public class WMCampaignInfo { public String getCampaignCta() public String getCampaignId() public String getCampaignCtaId() public WMUserData getUserData() public Map<String, Object> getCampaignData() }
Como se mencionó anteriormente,
Elemento | Obtenido por | Descripción |
Atributos públicos de usuarios | getUserAttributesMap() | 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 | getPrivateUserAttributes() | 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"} |
Marca de tiempo de creación del usuario | getUserCreationTimestamp() | La marca de tiempo en la que WalkMe identificó por primera vez al usuario. |
Duración de la sesión | getSessionDuration() | 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 de Android | getDeviceVersion() | La versión del sistema operativo del usuario |
ID único del dispositivo | getDeviceId() | El ID único del dispositivo |
Modelo de dispositivo | getDeviceModel() | El modelo del dispositivo del usuario. |
Orientación del dispositivo | getDeviceOrientation() | La orientación del dispositivo en el momento en que el usuario interactuó con la campaña. |
Versión de la aplicación | getAppVersion() | La versión de la aplicación que está utilizando el usuario |
Nombre de la aplicación | getAppName() | El nombre de la aplicación |
Configuración regional | getLocale() | La configuración regional del dispositivo del usuario. |
Versión del SDK | getSdkVer() | La versión del SDK integrada con la aplicación que está utilizando el usuario. |
ID de sesión | getSessionId() | El ID de sesión único generado por WalkMe. |
Indicación de nuevo usuario | getIsNewUser() | ¿Es esta la primera vez que WalkMe identifica al usuario (verdadero / falso)? |
Estado de las notificaciones push | getIsPushEnabled() | ¿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 | getTimezone() | La zona horaria del usuario establecida en el dispositivo. |
Red | getNetwork() | El tipo de red que está utilizando el usuario: WiFi / Celular / Sin conexión. |
Latitud del usuario | obtenerLatitudUbicación() | Marcadores de posición para la posible implementación de la latitud de ubicación. |
Longitud del usuario | getLocationLong() | Marcadores de posición para la posible implementación de la longitud de ubicación. |
Nombre del sistema | getSystemName() | El nombre del sistema operativo del usuario: en este caso siempre será "Android". |
Marca de tiempo del usuario actual | getTimestamp() | La marca de tiempo actual del usuario. |
Esta es la estructura del
public class WMUserData { /** * User Attributes in current session. */ public Map<String, Object> getUserAttributesMap() /** * Private User Attributes in current session. */ public Map<String, Object> getPrivateUserAttributes() /** * Returns the User Creation Timestamp for this User. * * @return long Timestamp. */ public long getUserCreationTimestamp() /** * Returns the User Session Duration in second. * * @return double second. */ public double getSessionDuration() /** * Returns the Device Android version. * * @return String version number. */ public String getDeviceVersion() /** * Returns the Device unique id. * * @return String id. */ public String getDeviceId() /** * Returns the Device brand Model. * * @return String Model. */ public String getDeviceModel() /** * Returns the Device Orientation PRT_REG / LSL. * * @return String Orientation. */ public String getDeviceOrientation() /** * Returns the application version. * * @return String version. */ public String getAppVersion() /** * Returns the application Name. * * @return String Name. */ public String getAppName() /** * Returns the locale language for this instance of the Java Virtual Machine. * * @return String Name. */ public String getLocale() /** * Returns the walkme sdk version. * * @return String version. */ public String getSdkVer() /** * Returns the Session unique id. * * @return String id. */ public String getSessionId() /** * Returns if the user use the app for the first time. * * @return String boolean. */ public String getIsNewUser() /** * Returns if Push notification approved for user. * * @return String boolean. */ public String getIsPushEnabled() /** * Returns user device timezone. * * @return String timezone. */ public String getTimezone() /** * Returns user current network ( WIFI / 3G ) * * @return String network. */ public String getNetwork() /** * Returns user current location latitude if available * * @return String latitude. */ public String getLocationLat() /** * Returns user current location longitude if available * * @return String longitude. */ public String getLocationLong() /** * Returns user System Name (Android). * * @return String Android. */ public String getSystemName() /** * Returns the Current Timestamp for this User. * * @return String Timestamp. */ public String getTimestamp() }