Analíticas de post-instalación — Seguimiento de eventos y niveles por SDK

Última actualización:
El seguimiento de eventos de Chartboost te permite controlar el comportamiento en el juego para crear segmentos de usuarios proclives a hacer compras dentro de la aplicación. Estos segmentos pueden servir para optimizar tu adquisición de usuarios, definir tus campañas de resegmentación y crear otros tipos de monetización.

Contenido


Introducción al seguimiento de eventos

La integración de seguimiento de eventos PIA funciona enviando datos del nivel del jugador (tutorial completado, por ejemplo) a Chartboost a través del SDK o S2S (directamente o a través de un tercero) en la forma de campos de eventos diferenciados.

Hemos diseñado los campos para permitirte recopilar y enviar datos de nivel que pueden maximizar el reencuentro y la monetización mediante la segmentación inteligente de jugadores.

Cada campo de evento debe corresponder a un único tipo de datos de nivel.

Los campos disponibles aparecen en la tabla de abajo seguidos de casos prácticos frecuentes:

Campo de eventoEtiqueta de evento de ejemplo 1Definición¿Secuencial? 2


Operadoresde segmentación3


Ejemplo de descripción4 opcional
1 "HIGHEST_LEVEL_REACHED" El nivel numérico más alto alcanzado por un jugador >=, >, ==, <, <= "Nivel Chocolate Fudge"
2 "CURRENT_AREA" Nivel o área actual del jugador - ==, != "Lunar Caverns"
3 "CHARACTER_LEVEL" El nivel del personaje del jugador en el juego >=, >, ==, <, <= "Master Wizard"
4 "OTHER_SEQUENTIAL" Campo extra para que los desarrolladores envíen otros datos secuenciales >=, >, ==, <, <= "5"
5 "OTHER_NONSEQUENTIAL" Campo extra para que los desarrolladores envíen otros datos no secuenciales - ==, != "Tutorial completado"
Notas

1. Las etiquetas de eventos son necesarias y se utilizan para identificar el tipo de evento en el panel de Chartboost.

2. Un campo de evento secuencial se utiliza para seguir 1) datos de nivel que siempre aumentan y no pueden disminuir; o 2) datos numéricos que necesitas segmentar en función de su un jugador está más "arriba" o más "abajo" de cierto número (ver la sección Casos prácticos más abajo).

3. Estos operadores pueden utilizarse para crear segmentos de jugadores con los que optimizar la adquisición, definir campañas de resegmentación y crear otros tipos de monetización.

4. Las descripciones de eventos opcionales pueden utilizarse para identificar el nombre del nivel ("Lunar Caverns", por ejemplo) en lugar del tipo de evento de nivel ("Área en la que está el personaje").


Además del título del campo de evento y descripción del evento, la integración requiere que incluyas valores de nivel numéricos y valores de sub-nivel opcionales.

Si tu juego está estructurado en áreas o valores no secuenciales, necesitarás asociar las áreas a valores de nivel internamente (por ejemplo, "Exalted Plains" = 1, "Emerald Graves" = 2, etc.).

Nuestro sistema seguirá los datos de nivel de los jugadores y los actualizará al recibir nuevos eventos de nivel.


Casos prácticos

Esta sección explica distintos casos prácticos para cada uno de los cinco tipos de campos de evento. Recuerda que OTHER_SEQUENTIAL y OTHER_NONSEQUENTIAL son categorías adicionales que puedes utilizar para organizar y seguir otros datos de nivel.


Nivel más alto completado (incluye OTHER_SEQUENTIAL)

Caso práctico #1: niveles sencillos

En "Sugar Smash Story" Jane llega al nivel 400 el 15/1/2015. Al llegar a este nivel el juego envía un evento a Chartboost y los siguientes datos se registran con el ID de su dispositivo y reemplazan su estado actual ("nivel 399").

  • Campo de evento: 1
  • Etiqueta de evento: "Sugar Smash Level"
  • Valor del nivel principal: 400
  • Valor del sub-nivel: 0
  • Descripción del nivel: "Nivel Chocolate Fudge"

Caso práctico #2: niveles complejos

En "Foul Mood Fowl" Bob acaba de terminar el nivel 9 del área 2 (2-9). Al llegar al nivel 10 del área 2 (2-10) el juego envía un evento a Chartboost con los siguientes datos:

  • Campo de evento: 1
  • Etiqueta de evento: "Foul Mood Fowl Level"
  • Valor del nivel principal: 2
  • Valor del sub-nivel: 10
  • Descripción del nivel: "2-10"

Área alcanzada en el juego/Nivel actual

Caso práctico #1: niveles de mundo abierto

En un juego de rol de mundo abierto Joe viaja al nivel "Exalted Plains" desde "Emerald Graves". El juego enviará los siguientes datos a Chartboost:

  • Campo de evento: 2
  • Etiqueta de evento: "Character Current Area" (área actual del personaje)
  • Valor del nivel principal: 3
  • Valor del sub-nivel: 0
  • Descripción del nivel: "Exalted Plains"

En este ejemplo el juego podría tener una asociación entre área y nivel:

  • Hinterlands = 1
  • Fallow Mires = 2
  • Exalted Plains = 3
  • Emerald Graves = 4

Caso práctico #2: FTUE (primera experiencia de usuario)

En un juego de acción en el que los primeros niveles con FTUE/tutorial, puedes utilizar los campos OTHER_SEQUENTIAL o OTHER_NONSEQUENTIAL (dependiendo de si sigues el progreso del tutorial o solamente su finalización) para enviarnos datos de niveles además de los que ya estás siguiendo mediante el campo de evento HIGHEST_LEVEL_REACHED:

Para juegos con niveles de tutorial secuenciales:

  • Campo de evento: 4
  • Etiqueta de evento: "Tutorial Progress" (progreso del tutorial)
  • Valor del nivel principal: 0
  • Valor del sub-nivel: 0
  • Descripción del nivel: "Tutorial Start" (comienzo del tutorial)

Para seguir solo la finalización del tutorial:

  • Campo de evento: 4
  • Etiqueta de evento: "Tutorial Progress" (progreso del tutorial)
  • Valor del nivel principal: 1
  • Valor del sub-nivel: 0
  • Descripción del nivel: "Tutorial Complete" (tutorial completado)

Nivel del personaje (incluye OTHER_SEQUENTIAL)

En algunos juegos, sobre todo de rol y mid-core, el nivel del personaje es el dato que más te interesará segmentar.

Caso práctico: juego MOBA mid-core

Cuando el mago de Terri llegue al nivel 10, enviarás un evento a Chartboost:

  • Campo de evento: 3
  • Etiqueta del evento: "Player character level" (nivel del personaje del jugador)
  • Valor del nivel principal: 10
  • Valor del sub-nivel: 0
  • Descripción del nivel: "Elven Mage"

Las siguientes secciones te explicarán los pasos necesarios para enviar datos de nivel a Chartboost mediante la integración del SDK, S2S o a través de terceros.


Integración de seguimiento de eventos en el SDK para iOS

Requisitos previos

Antes de empezar necesitas:

Integración

Antes debes enumerar los cinco tipos de eventos de nivel de la siguiente manera:

typedef enum {
// Nivel más alto alcanzado
 HIGHEST_LEVEL_REACHED = 1,
// Nivel de área alcanzado
 CURRENT_AREA = 2,
// Nivel de personaje alcanzado
 CHARACTER_LEVEL = 3,
// Otro nivel secuencial alcanzado
 OTHER_SEQUENTIAL = 4,
// Otro nivel no secuencial alcanzado
 OTHER_NONSEQUENTIAL = 5
} CBLevelType;

Después puedes utilizar el código de abajo para seguir información de nivel sobre tu usuario. Los niveles pueden ser secuenciales, no secuenciales, de personaje, etc.

@interface CBAnalytics : NSObject

// Para juegos con sub-niveles

+ (void)trackLevelInfo:(NSString*)eventLabel
 eventField:(CBLevelType)eventField
 mainLevel:(NSUInteger)mainLevel
 subLevel:(NSUInteger)subLevel
 description:(NSString*)description;
 
@end
@interface CBAnalytics : NSObject

// Para juegos sin sub-niveles

+ (void)trackLevelInfo:(NSString*)eventLabel
 eventField:(CBLevelType)eventField
 mainLevel:(NSUInteger)mainLevel
 description:(NSString*)description;
 
@end

Definiciones:

  • eventField: Cualquier valor del enumerador CBLevelType que aparece arriba; se utiliza para definir el tipo de evento. Enviado como un número entero (1-5) a Chartboost.
  • mainLevel: Número entero mayor que 0 que representa el nivel principal del jugador.
  • subLevel: Número entero que representa el sub-nivel del jugar; utiliza el segundo método mostrado más arriba si no es aplicable.
  • description: Cadena opcional para describir el evento.

Integración de seguimiento de eventos en el SDK para Google Play

Requisitos previos

Antes de empezar necesitas:

Integración

Antes debes enumerar los cinco tipos de eventos de nivel de la siguiente manera:

public class CBAnalytics {
    public enum CBLevelType {
        HIGHEST_LEVEL_REACHED(1),
        CURRENT_AREA(2),
        CHARACTER_LEVEL(3),
        OTHER_SEQUENTIAL(4),
        OTHER_NONSEQUENTIAL(5);
    }
}

Después puedes utilizar el código de abajo para seguir información de nivel sobre tu usuario. Los niveles pueden ser secuenciales, no secuenciales, de personaje, etc.

public class CBAnalytics {

// Para juegos sin sub-niveles:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, 0, description);
 }
 
}
public class CBAnalytics {

// Para juegos con sub-niveles:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, int subLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, subLevel, description);
 }
 
}

Integración de seguimiento de eventos en el SDK para Amazon

Requisitos previos

Antes de empezar necesitas:

Integración

Para seguir eventos en Amazon, sigue nuestras Instrucciones de integración para Google Play más arriba.


Integración de seguimiento de eventos con Unity Plugin

Requisitos previos

Antes de empezar necesitas:

Integración

Antes debes enumerar los cinco tipos de eventos de nivel de la siguiente manera:

namespace ChartboostSDK {

/// Valores enumerados para seguimiento de eventos PIA
 public enum CBLevelType : int {
// Nivel más alto alcanzado 
 HIGHEST_LEVEL_REACHED = 1,
// Nivel de área alcanzado 
 CURRENT_AREA = 2,
// Nivel de personaje alcanzado 
 CHARACTER_LEVEL = 3,
// Otro nivel secuencial alcanzado
 OTHER_SEQUENTIAL = 4,
// Otro nivel no secuencial alcanzado 
 OTHER_NONSEQUENTIAL = 5
 };
}

Después puedes utilizar el código de abajo en el bloque correspondiente para seguir información de nivel sobre tu usuario. Los niveles pueden ser secuenciales, no secuenciales, de personaje, etc.

Juegos con sub-niveles

namespace ChartboostSDK {
  
    public static void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, int subLevel, String description) {
        CBExternal.trackLevelInfo(eventLabel, type, mainLevel, subLevel, description);
    }
    
}

Juegos sin sub-niveles

namespace ChartboostSDK {

    public static void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, String description) {
        CBExternal.trackLevelInfo(eventLabel, type, mainLevel, description);
    }
  
}

Definiciones:

  • type: Cualquier valor del enumerador CBLevelType que aparece arriba; se utiliza para definir el tipo de evento.
  • mainLevel: Número entero mayor que 0 que representa el nivel principal del jugador.
  • subLevel: Número entero que representa el sub-nivel del jugar; utiliza el segundo método mostrado más arriba si no es aplicable.
  • description: Cadena opcional para describir el evento.

Integración de seguimiento de eventos de servidor a servidor

La integración de seguimiento de eventos PIA de servidor a servidor (S2S) puede registrar la información de la actividad del usuario y almacenarla en nuestro sistema.

Las llamadas del seguimiento de eventos S2S contienen información de nivel y un token API (contáctanos para obtener el tuyo) que verifica la solicitud:

{
    'app_id': app_id,
    'gaid': gaid,
    'event': {
        'event_label': event_label,  
        'event_field': event_field,  
        'main_level': main_level,
        'sub_level': sub_level,
        'description': description
    }

Abajo puedes ver información sobre la llamada de seguimiento de eventos. Para recibir tu token API, ponte en contacto con el Soporte de Chartboost.

Detalles de la solicitud de seguimiento de eventos S2S

Método

POST

Endpoint

https://live.chartboost.com/event_service/v3/track

Encabezamientos

(Recuerda que los encabezamientos incluyen información de autenticación).

Nombre del encabezamientoEjemploDescripción
X-Chartboost-Token 9782f24948b6d8125518f421f70240c415e0d25b Tu token de API (contacta con support.integrations@chartboost.com para obtener tu token PIA de API y tu secreto de API)
X-Chartboost-Signature 173e6aeff28e4b76b488d5acf49ed8ebb8e95559 Ver este GiST para generar. Este NO es el mismo valor que el de tu firma de aplicación de Chartboost.

Cuerpo del JSON: parámetros de seguimiento de eventos

ParámetrosAplicaciones iOSAplicaciones AndroidEjemploDescripción
track_info       Matriz de objetos abajo
event_label Requerido Requerido "Highest level puzzle solved" (puzle de mayor nivel resuelto) Etiqueta personalizada para evento del juego
event_field Requerido Requerido 1 ID correspondiente al tipo de evento; ver esta etiqueta para IDs
main_level Requerido Requerido 2 Nivel principal (número entero distinto a 0)
sub_level Requerido Requerido 1 Número entero de sub-nivel (utiliza 0 si no es aplicable)
descripción Opcional Opcional "The boss level" (nivel de jefe) Descripción del nivel

Cuerpo del JSON: parámetros de identificadores

ParámetrosAplicaciones iOSAplicaciones AndroidEjemploDescripción
ID de la aplicación Requerido Requerido "54ecc0535beacdc1e1eff778"  ID de aplicación de Chartboost (lo encontrarás en el panel de control de Chartboost)
ifa Requerido N/D IFA: "7e8ec8092004283043e99d515ab0c51b0ef755ff" (32 caracteres; puede incluir guiones y mayúsculas) Identificador para los anuncios
GAID N/D Requerido "38400000-8cf0-11bd-b23e-10b96e40000d" (32 caracteres y 4 guiones) ID de Google Services Advertising (solo Android)
uuid N/D Opcional (si no se envía GAID o es una aplicación de Amazon) "358414046356276" Para IDs de Android anticuados o juegos de Amazon
Comienza por el destino: cómo crear la solicitud
https://live.chartboost.com/event_service/v3/track

Añade los parámetros en el cuerpo del JSON. Las solicitudes exitosas recibirán: {"status":200,"message":"Success"}.

Si tu llamada recibe un código de error 500 HTTP, tu servidor deberá reintentar la llamada S2S. Inténtalo de nuevo en 2 segundos, después en 4 segundos, en 8 segundos, en 16 segundos y así sucesivamente hasta conseguirlo.

Integración de seguimiento de eventos de servidor a servidor de terceros

Si quieres un análisis más completo de los datos de niveles en distintas plataformas o redes, puedes configurar una integración S2S para importarlos de servicios de seguimiento de terceros. Una vez terminada la integración, podrás ver los datos de terceros en el panel de control de Chartboost. Más información ▶


Segmentos de usuarios por nivel/evento

Consulta cómo crear segmentos de usuarios basados en los datos de nivel/evento en nuestras instrucciones del creador de segmentos.


Panel de control de analíticas de seguimiento de nivel/evento

Puedes utilizar el panel de analíticas post-instalación para ver las estadísticas del seguimiento de eventos. Puedes encontrar más información en las instrucciones del panel PIA.