Móvil: ¿qué son los callbacks de campañas de Android 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 la configuración de cualquier 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.

Pasos para implementar Callbacks de campaña.

Para poder registrarte en los callbacks de campaña, primero implementa esta interfaz:

/**
 * Definición de la interfaz para que se invoque un callback en las acciones de la campaña.
 */
public interface WMCampaignInfoListener {
 /**
 * Llamado después de que se descartara la campaña.
 *
 * @param campaignInfo La información de la campaña descartada.
 */
 void onCampaignDismissed(WMCampaignInfo campaignInfo);
}

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

/**
 * Registrar un oyente para los eventos de campaña del del
 *
 *@param campaignInfoListener El oyente
 *
 */
public static void setCampaignInfoListener(WMCampaignInfoListener campaignInfoListener)

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 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á:
abbi://cta , por ejemplo: abbi://ok o abbi://never

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 objeto:

 public class WMCampaignInfo {

 public String getCampaignCta() del

 public String getCampaignId() del

 public String getCampaignCtaId()

 public WMUserData getUserData()

 public Map<String, Object> getCampaignData()
}

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

Elemento Recuperado 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 del 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
Locale 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 getLocationLat() 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 objeto:

public class WMUserData {

 /**
 * Atributos de usuario en la sesión actual.
 */
 public Map<String, Object> getUserAttributesMap()


 /**
 * Atributos privados del usuario en la sesión actual.
 */
 public Map<String, Object> getPrivateUserAttributes()

 /**
 * Devuelve la marca de tiempo de creación del usuario para este usuario.
 *
 * @return long Timestamp.
 */
 public long getUserCreationTimestamp()

 /**
 * Devuelve la duración de la sesión del usuario en segundos.
 *
 * @return double second.
 */
 public double getSessionDuration()

 /**
 * Devuelve la versión de Android del dispositivo.
 *
 * @return String número de versión.
 */
 public String getDeviceVersion()

 /**
 * Devuelve el ID único del dispositivo.
 *
 * @return String id.
 */
 public String getDeviceId() del

 /**
 * Devuelve el Modelo de marca del dispositivo.
 *
 * @return String Model.
 */
 public String getDeviceModel()

 /**
 * Devuelve la orientación del dispositivo PRT_REG / LSL.
 *
 * @return String Orientation.
 */
 public String getDeviceOrientation()
 /**
 * Devuelve la versión de la aplicación.
 *
 * @return Versión de la cadena.
 */
 public String getAppVersion()

 /**
 * Devuelve el Nombre de la aplicación.
 *
 * @return String Name.
 */
 public String getAppName()

 /**
 * Devuelve el idioma regional para esta instancia de la máquina virtual Java.
 *
 * @return String Name.
 */
 public String getLocale()

 /**
 * Devuelve la versión de Walkme SDK.
 *
 * @return Versión de la cadena.
 */
 public String getSdkVer()

 /**
 * Devuelve el ID único de la sesión.
 *
 * @return String id.
 */
 public String getSessionId()

 /**
 * Devuelve si el usuario utiliza la aplicación por primera vez.
 *
 * @return String boolean.
 */
 public String getIsNewUser() del

 /**
 * Devuelve si la notificación Push se aprobó para el usuario.
 *
 * @return String boolean.
 */
 public String getIsPushEnabled() del

 /**
 * Devuelve la zona horaria del dispositivo del usuario.
 *
 * @return String zona horaria.
 */
 public String getTimezone() del

 /**
 * Devuelve la red actual del usuario ( WIFI / 3G )
 *
 * @return String network.
 */
 public String getNetwork()

 /**
 * Devuelve la latitud de la ubicación actual del usuario si está disponible
 *
 * @return String latitude.
 */
 public String getLocationLat()

 /**
 * Devuelve la longitud de la ubicación actual del usuario si está disponible
 *
 * @return Longitud como String.
 */
 public String getLocationLong()

 /**
 * Devuelve el Nombre del Sistema del usuario (Android).
 *
 * @return String Android.
 */
 public String getSystemName()

 /**
 * Devuelve la marca de tiempo actual para este usuario.
 *
 * @return String Timestamp.
 */
 public String getTimestamp()
}

Was this article helpful?

Thanks for your feedback!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Explore our community
×