Análises pós-instalação - Acompanhamento de evento e nível pelo SDK

Última atualização:
O acompanhamento de evento do Chartboost permite monitorar o envolvimento de jogo para criar segmentos de usuários que provavelmente farão compras no jogo. Estes segmentos podem otimizar a sua aquisição de usuários, alimentar suas campanhas de direcionamento e impulsionar outros tipos de monetização.

Conteúdo


Visão geral de acompanhamento de evento

A integração de acompanhamento de evento PIA funciona enviando dados de nível de jogador (por exemplo: tutorial concluído) para o Chartboost através do SDK ou S2S (diretamente ou por um terceiro) na forma de Campos de Evento distintos.

Nós projetamos os campos para possibilitar a coleta e envio de dados de nível de modo a maximizar o reengajamento e a monetização através da segmentação inteligente de jogadores.

Cada campo de evento deve corresponder a um único tipo de dados de nível.

Os campos disponíveis estão relacionados na tabela abaixo; casos de uso comuns a seguir:

Campo de eventoExemplo de rótulo de evento 1DefiniçãoSequencial? 2

Segmentação
Operadores 3

Opcional
Exemplo de descrição 4
1 "MAIOR_NIVEL_ATINGIDO" O maior nível numérico que um usuário alcançou Sim >=, >, ==, <, <= "Nível Calda de Chocolate"
2 "AREA_ATUAL" O nível/área atual do usuário - ==, != "Cavernas Lunares"
3 "NIVEL_PERSONAGEM" O nível do personagem do jogador no jogo Sim >=, >, ==, <, <= "Feiticeiro Mestre"
4 "OUTRO_SEQUENCIAL" Campo adicional para os desenvolvedores enviarem dados sequenciais Sim >=, >, ==, <, <= "5"
5 "OUTRO_NAO_SEQUENCIAL" Campo adicional para os desenvolvedores enviarem dados não sequenciais - ==, != "Tutorial Concluído"
Notas

1. Rótulos de evento são necessários e serão usados para identificar o tipo de campo de evento no painel Chartboost

2. Um campo de evento sequencial é usado para acompanhar 1) dados de nível que sempre aumentam e nunca podem diminuir; ou 2) dados numéricos necessários para segmentar com base no jogador estar "acima" ou "abaixo" de um determinado número (consulte a seção Casos de Uso abaixo)

3. Estes operadores poderão ser usados para criar segmentos de jogadores para otimizar esforços de UA, impulsionar campanhas de direcionamento e outros tipos de monetização

4. Descrições de eventos opcionais podem ser usadas para identificar o nome do nível ("Cavernas Lunares", por exemplo) em vez do tipo de evento de nível ("Área onde está o personagem principal")


Adicionalmente ao título do campo de evento e descrição do evento, a integração requer que se inclua valores de nível numéricos e também suporta valores de subníveis adicionais.

Se a área do jogo for baseada em ou usa níveis não sequenciais, você deverá mapear as áreas para nivelar os valores internamente (ex: "Planície Exaltada" = 1, "Covas de Esmeraldas" = 2, etc.).

Nosso sistema acompanhará os dados de nível dos jogadores e atualizará no recebimento de novos eventos de nível.


Casos de uso

Esta seção explora os possíveis casos de uso para cada um dos cinco tipos de campo de evento. Note que os eventos OUTRO_SEQUENCIAL e OUTRO_NAO_SEQUENCIAL são opções adicionais para categorizar e acompanhar dados de eventos adicionais.


Conclusão do nível mais alto (inclui OUTRO_SEQUENCIAL)

Caso de uso 1: níveis simples

Em "Sugar Smash Story," Jane chega ao nível 400 em 15/1/2015. Ao chegar neste nível, o jogo envia um evento ao Chartboost e os seguintes dados são gravados para o ID do dispositivo dela e substituem o estado atual, "nível 399".

  • Campo de evento: 1
  • Rótulo do evento: "Nível do Sugar Smash"
  • Valor do nível principal: 400
  • Valor do subnível: 0
  • Descrição do nível: "Nível Calda de Chocolate"

Caso de uso 2: níveis complexos

Em "Bicho de Mau Humor", Bob terminou o nível 9 da área 2 (2-9). Ao chegar no nível 10 da área 2 (2-10), o jogo envia um evento ao Chartboost com os seguintes dados:

  • Campo de evento: 1
  • Rótulo do evento: "Nível Bicho de Mau Humor"
  • Valor do nível principal: 2
  • Valor do subnível: 10
  • Descrição do nível: "2-10"

Área no jogo alcançada/Nível atual

Caso de uso 1: níveis de mundo aberto

Em um RPG de mundo aberto, Joe viaja para o nível "Planícies Exaltadas" desde "Covas de Esmeraldas". O jogo enviará o seguinte evento ao Chartboost:

  • Campo de evento: 2
  • Rótulo do evento: "Área atual do personagem"
  • Valor do nível principal: 3
  • Valor do subnível: 0
  • Descrição do nível: "Planícies Exaltadas"

Neste exemplo, o jogo pode ter um mapeamento de área para nível de:

  • Interior= 1
  • Terras Não Cultivadas = 2
  • Planícies Exaltadas = 3
  • Covas de Esmeraldas = 4

Caso de uso 2: FTUE (primeira experiência do usuário)

Em um jogo de ação onde os primeiros níveis são o FTUE/Tutorial, você pode usar os campos OUTRO_SEQUENCIAL ou OUTRO_NAO_SEQUENCIAL (dependendo do acompanhamento do progresso no tutorial ou apenas na conclusão do tutorial) para nos enviar dados de nível que você acompanha pelo campo de evento MAIOR_NIVEL_ATINGIDO:

Para jogos com níveis de tutorial sequenciais:

  • Campo de evento: 4
  • Rótulo do evento: "Progresso do Tutorial"
  • Valor do nível principal: 0
  • Valor do subnível: 0
  • Descrição do nível: "Início do Tutorial"

Para acompanhar somente a conclusão do tutorial:

  • Campo de evento: 4
  • Rótulo do evento: "Progresso do Tutorial"
  • Valor do nível principal: 1
  • Valor do subnível: 0
  • Descrição do nível: "Tutorial Concluído"

Nível do personagem (inclui OUTRO_SEQUENCIAL)

Em alguns jogos, especialmente RPGs ou mid-core, o nível do personagem representa os dados que você deve segmentar e direcionar.

Caos de uso: Jogo MOBA Mid-Core

Quando o mago elfo de Terri chegar ao nível 10, você enviará um evento ao Chartboost:

  • Campo de evento: 3
  • Rótulo do evento: "Nível do personagem do jogador"
  • Valor do nível principal: 10
  • Valor do subnível: 0
  • Descrição do nível: "Mago Elfo"

As próximas seções mostram os passos necessários para enviar dados de nível ao Chartboost através de SDK, integração S2S ou de terceiros.


Integração de acompanhamento de evento de iOS SDK

Pré-requisitos

Antes de iniciar, você precisa:

Integração

Primeiro você deve enumerar os cinco tipos de eventos de nível da seguinte maneira:

typedef enum {
// maior nível atingido
 HIGHEST_LEVEL_REACHED = 1,
// Nível da área atual atingido
 CURRENT_AREA = 2,
// Nível do personagem atual atingido
 CHARACTER_LEVEL = 3,
// Outro nível sequencial atingido
 OTHER_SEQUENTIAL = 4,
// Nível atual não sequencial atingido
 OTHER_NONSEQUENTIAL = 5
} CBLevelType;

Depois disso, você pode usar o código abaixo para acompanhar informações de nível sobre o seu usuário. Níveis podem ser sequenciais, não sequenciais, níveis de personagens e outros.

@interface CBAnalytics : NSObject

// Para jogos com subníveis

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

// Para jogos sem subníveis

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

Definições:

  • eventField: Qualquer valor do CBLevelType enum mostrado acima; usado para definir o tipo de evento. Enviado como um número inteiro (1-5) ao Chartboost.
  • mainLevel: Valor de número inteiro diferente de zero que representa o nível principal do jogador
  • subLevel: Número inteiro que representa o subnível do jogador; use o segundo método acima caso não seja aplicável
  • description: Sequência opcional descrevendo o evento

Integração de acompanhamento de evento de Google Play SDK

Pré-requisitos

Antes de iniciar, você precisa:

Integração

Primeiro você deve enumerar os cinco tipos de eventos de nível da seguinte maneira:

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

Depois disso, você pode usar o código abaixo para acompanhar informações de nível sobre o seu usuário. Níveis podem ser sequenciais, não sequenciais, níveis de personagens e outros.

public class CBAnalytics {

// Para jogos sem subníveis:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, 0, description);
 }
 
}
public class CBAnalytics {

// Para jogos com subníveis:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, int subLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, subLevel, description);
 }
 
}

Integração de acompanhamento de evento de Amazon SDK

Pré-requisitos

Antes de iniciar, você precisa:

Integração

Para acompanhamento de evento Amazon, siga as instruções de integração com Google Play acima.


Integração de acompanhamento de Unity Plugin

Pré-requisitos

Antes de iniciar, você precisa:

Integração

Primeiro você deve enumerar os cinco tipos de eventos de nível da seguinte maneira:

namespace ChartboostSDK {

/// Valores de Enum para acompanhamento de evento PIA
 public enum CBLevelType : int {
// Maior nível atingido 
 HIGHEST_LEVEL_REACHED = 1,
// Nível da área atual atingido 
 CURRENT_AREA = 2,
// Nível do personagem atual atingido 
 CHARACTER_LEVEL = 3,
// Outro nível sequencial atingido
 OTHER_SEQUENTIAL = 4,
// Nível atual não sequencial atingido 
 OTHER_NONSEQUENTIAL = 5
 };
}

Depois disso, poderá usar o código no bloco adequado abaixo para acompanhar informações de nível sobre o seu usuário. Níveis podem ser sequenciais, não sequenciais, níveis de personagens e outros.

Jogos com subníveis

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

Jogos sem subníveis

namespace ChartboostSDK {

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

Definições:

  • type: Qualquer valor do CBLevelType enum mostrado acima; usado para definir o tipo de evento.
  • mainLevel: Valor de número inteiro diferente de zero que representa o nível principal do jogador
  • subLevel: Número inteiro que representa o subnível do jogador; use o segundo método acima caso não seja aplicável
  • description: Sequência opcional descrevendo o evento

Integração de acompanhamento de evento de servidor a servidor

A integração de acompanhamento de evento de servidor a servidor do Chartboost (S2S) pode acompanhar informações de engajamento do jogador e armazená-las em nosso sistema.

Chamadas de acompanhamento de evento S2S contêm informações de nível e um token API (entre em contato conosco para obter o token) para verificar a solicitação:

{
    '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
    }

Abaixo encontram-se informações sobre a chamada de Acompanhamento de Evento; para receber seu token API, contate o Suporte do Chartboost.

Dados de solicitação S2S de acompanhamento de evento

Método

POST

Ponto de extremidade

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

Cabeçalhos

(Note que os cabeçalhos contêm informações de autenticação.)

Nome do cabeçalhoExemploDescrição
X-Chartboost-Token 9782f24948b6d8125518f421f70240c415e0d25b Seu token API (contate support.integrations@chartboost.com para obter seu token PIA API e segredo API)
X-Chartboost-Signature 173e6aeff28e4b76b488d5acf49ed8ebb8e95559 Veja este gist para gerar. Este NÃO é o mesmo valor da sua assinatura do app Chartboost!

Corpo JSON: parâmetros de acompanhamento de evento

ParâmetrosApps iOSApps AndroidExemploDescrição
track_info       Matriz de objetos abaixo
event_label Necessário Necessário "Quebra-cabeças do nível mais alto solucionado" Rótulo personalizado para evento no jogo
event_field Necessário Necessário 1 ID correspondente ao tipo de evento; consulte esta tabela para obter os IDs
main_level Necessário Necessário 2 Nível principal (inteiro diferente de zero)
sub_level Necessário Necessário 1 Inteiro de subnível (use 0 se não for aplicável)
descrição Opcional Opcional "O nível do chefe" Descrição do nível

Corpo JSON: parâmetros de identificadores

ParâmetrosApps iOSApps AndroidExemploDescrição
ID do app Necessário Necessário "54ecc0535beacdc1e1eff778"  ID do app Chartboost (encontrado no painel Chartboost)
ifa Necessário N/D IFA: "7e8ec8092004283043e99d515ab0c51b0ef755ff" (32 caracteres; traços OK; maiúsculas OK) Identificador para anúncios
gaid N/D Necessário "38400000-8cf0-11bd-b23e-10b96e40000d" (32 caracteres mais 4 traços) Google Services Advertising ID (somente Android)
uuid N/D Opcional (se GAID não foi enviado ou se for app Amazon) "358414046356276" Para Android IDs ou jogos Amazon de legado
Primeiro, comece com o ponto de extremidade: construir a solicitação
https://live.chartboost.com/event_service/v3/track

Adicione os parâmetros no corpo do JSON, e pronto – as solicitações com êxito receberão: {"status":200,"message":"Success"}.

Se a sua chamada receber um código de erro 500 HTTP, o seu servidor deve tentar novamente a chamada S2S, porém mais tarde: tente novamente em 2 segundos, depois 4 segundos, depois 8 segundos, depois 16 segundos, até obter êxito.

Integrações de acompanhamento de evento de servidor a servidor de terceiro

Para ter uma análise mais completa de dados de nível entre plataformas ou redes, você também pode configurar uma integração S2S para importar dados de nível de serviços de acompanhamento de terceiros. Após a integração, você poderá ver os dados de terceiros no painel Chartboost. Saiba mais ▶


Segmentos de usuários de Nível/Evento

Para saber como criar segmentos de usuários baseados em dados de nível/evento, consulte nossas instruções de construtor de segmento de usuário.


Painel de análises de acompanhamento de nível/evento

Você pode usar o painel de análises pós-instalação para ver análises de acompanhamento de evento. Consulte estas instruções do painel PIA para obter mais informações.