Coletar dados dos jogadores
O Pushwoosh precisa saber quem são os seus jogadores e o que eles fazem no jogo. Os eventos registram as ações, e as tags guardam o estado atual de cada jogador.
Identificar os jogadores pelo User ID
Anchor link toO Pushwoosh vincula todos os dispositivos de um jogador a um único User ID, para que os seus segmentos e Journeys tratem uma pessoa como um único jogador. Os eventos e as tags User-specific que um dispositivo registrou antes de o jogador fazer login ficam com o ID anterior dele. As tags Device-specific acompanham o dispositivo.
Por padrão, o Pushwoosh usa o ID de hardware (HWID) de cada dispositivo como o User ID dele. Assim, um jogador que joga em dois dispositivos conta como dois jogadores. Para evitar isso com os jogadores que fazem login, defina o seu próprio ID de conta como o User ID deles:
- Escolha o ID a ser usado. Use o ID de conta que o seu jogo já atribui a cada jogador.
- Peça aos seus desenvolvedores que chamem
setUserIdcom esse ID quando o jogador fizer login. - Confira o resultado. Faça login no jogo em um dispositivo de teste, depois abra Público → Explorador de usuários, pesquise por ID do Usuário e insira o ID de conta. O perfil do jogador é aberto.
Os jogadores que nunca fazem login mantêm o HWID como User ID, e o Pushwoosh o define para eles.
Para saber mais sobre como os User IDs se relacionam com os dispositivos, consulte Usuários (User IDs).
Configurar os eventos a serem rastreados
Anchor link toÉ pelos eventos que o Pushwoosh fica sabendo o que um jogador faz. Crie-os primeiro: os segmentos agrupam os jogadores pelos eventos que eles acionaram, e as Journeys começam quando um evento acontece.
Planeje os eventos e os atributos deles antes de criar qualquer coisa. Eventos recomendados para aplicativos de jogos lista eventos de jogos prontos com atributos, e Eventos personalizados explica como definir os seus.
Há dois tipos de eventos:
- Eventos padrão: registro do dispositivo, abertura do aplicativo, compra e alguns outros. O SDK os envia, e você não precisa criá-los no Painel de Controle.
- Eventos personalizados: nível concluído, recompensa resgatada, loja aberta e outros. Os seus desenvolvedores os enviam do jogo, e o Pushwoosh cria cada um na primeira vez que ele chega. Para escolher você mesmo os tipos dos atributos, crie primeiro o evento no Painel de Controle. Consulte Eventos personalizados e Eventos criados automaticamente.
Eventos padrão
Anchor link toO SDK envia esses eventos por você. Você precisa deles para a maioria das Journeys deste playbook: onboarding, recuperação e ofertas de compra.
PW_DeviceRegistered: um dispositivo recebeu o seu primeiro token de push. O SDK solicita o token somente quando o jogo chamaregisterForPushNotifications, que no iOS também mostra a solicitação de permissão, e o token chega qualquer que seja a resposta do jogador. Se o jogo pedir a permissão depois da primeira abertura, o evento é disparado nesse momento, e não na instalação. Para identificar novos jogadores, use o eventoTutorial startedem vez dele.PW_ApplicationOpen: um jogador abriu o jogo. Você precisa dele para encontrar os jogadores que ainda jogam e os que pararam de jogar, para poder recuperá-los.PW_InAppPurchase: um jogador comprou algo no jogo. Você precisa dele para distinguir pagantes de não pagantes, por exemplo, para oferecer uma primeira compra apenas a jogadores que nunca pagaram. Os seus desenvolvedores ativam o rastreamento de compras no SDK do iOS ou enviam as compras pelo código, e no Android sempre as enviam pelo código. No iOS, ele é disparado apenas para produtos configurados no App Store Connect.- Opcional:
PW_UserIdle: é disparado quando um jogador para de tocar na tela por um tempo definido por você, de pelo menos 30 segundos. Inicia uma Journey que mostra uma dica in-app quando um jogador fica travado. Os seus desenvolvedores o ativam na configuração do SDK. - Opcional:
PW_ApplicationExit: é disparado quando um jogador sai do jogo e não volta em 10 a 30 segundos. Inicia uma Journey de recuperação para jogadores que saem no meio de um fluxo. Os seus desenvolvedores o ativam na configuração do SDK.
Um evento aparece em Público → Eventos depois que o SDK o envia pela primeira vez.
Para adicionar antes à lista qualquer outro evento padrão, por exemplo, para criar um segmento antes de a atualização do jogo ser lançada:
- Abra Público → Eventos e clique em Criar evento.
- Escolha Evento Padrão.
- Selecione o evento e clique em Ativar.
A lista da etapa 3 não inclui PW_UserIdle e PW_ApplicationExit. Eles aparecem em Público → Eventos somente depois que o SDK os envia pela primeira vez.
Para obter detalhes sobre esses e outros eventos padrão, consulte Eventos padrão.
Eventos personalizados
Anchor link toOs eventos personalizados registram o que acontece no seu jogo, como concluir um nível. Você escolhe quais o jogo precisa, os seus desenvolvedores os enviam, e você confere se eles estão chegando.
Escolher os eventos a serem rastreados
Anchor link toEscolha os eventos de que o seu jogo precisa e os atributos que cada um carrega, por exemplo, level_id para Level completed. A tabela traz exemplos: use-os como estão, renomeie-os ou adicione os seus. Rastreie apenas os eventos necessários para as Journeys que você lançar.
| Evento | Quando é disparado | Atributos principais | Para que serve |
|---|---|---|---|
| New level | O jogador chega a um novo nível | level_id (String) | Opcional: os seus próprios segmentos de marcos |
| Level completed | O jogador conclui um nível | level_id (String) | Segmentos de jogadores engajados não pagantes e de jogadores travados, Journey de ajuda para jogadores travados |
| Level failed | O jogador falha em um nível | level_id (String) | Segmento e Journey de jogadores travados |
| Tutorial started | O jogador inicia o tutorial do jogo | tutorial_name (String) | Journey de onboarding, segmento de abandono do tutorial |
| Tutorial completed | O jogador conclui o tutorial do jogo | tutorial_name (String), completion (Boolean) | Journey de onboarding, fluxo de permissão de push |
| Virtual currency earned | O saldo de moeda do jogo do jogador aumenta | currency_name (String), quantity (Integer) | Opcional: os seus próprios segmentos baseados em moeda |
| Achievement unlocked | O jogador desbloqueia uma conquista | achievement_name (String), level (Integer) | Segmento de caçadores de conquistas |
| Daily reward claimed | O jogador resgata a recompensa diária | day_number (Integer) | Journey de lembrete da recompensa diária |
| Live event joined | O jogador entra em um evento ao vivo | event_id (String) | Meta de conversão da Journey do evento ao vivo |
| Store opened | O jogador abre a loja do jogo | section (String) | Journey de abandono da loja |
Enviar os eventos do jogo
Anchor link toCombine com os seus desenvolvedores quais eventos o jogo envia e quais atributos cada um carrega. Os nomes dos eventos e dos atributos precisam coincidir exatamente.
Por exemplo, é assim que o jogo envia Level completed com o atributo level_id:
TagsBundle attributes = new TagsBundle.Builder() .putString("level_id", "12") .build();
InAppManager.getInstance().postEvent("Level completed", attributes);PWInAppManager.shared().postEvent("Level completed", withAttributes: ["level_id": "12"])Se um evento acontece em um servidor que já envia os próprios webhooks, como o backend do seu jogo ou um serviço de torneios, ele pode chegar ao Pushwoosh por meio de um webhook de entrada em vez de postEvent. Você mapeia os campos que ele envia para um evento do Pushwoosh no Painel de Controle, e o evento pode iniciar uma Journey como qualquer outro.
Para conferir se um evento chegou, abra Público → Explorador de usuários, encontre um jogador de teste e abra a aba Histórico de eventos.
Rastrear a receita como PW_Conversion
Anchor link toPW_Conversion registra o valor e a moeda de cada compra em um único formato. Você precisa dele para uma meta de receita nas Journeys e para as faixas de gasto na Segmentação RFM, que agrupa os jogadores por quão recentemente, com que frequência e quanto eles compram.
As compras que o SDK do iOS rastreia chegam ao PW_Conversion sozinhas, porque carregam os atributos __amount e __currency. As compras do Android precisam de uma destas opções:
- Se o seu jogo roda no iOS e no Android, peça aos seus desenvolvedores que enviem as compras do Android como
PW_InAppPurchasecom os atributos numéricos__amounte__currencypor meio depostEvent, em vez do método de compra do SDK. Assim, o mesmo mapeamento automático cobre as duas plataformas. - Se o seu jogo roda apenas no Android, mapeie as compras você mesmo, sem código novo. Um evento mantém um único mapeamento, então, em um jogo com compras no iOS, um mapeamento manual substituiria o automático.
Para mapear as compras você mesmo:
- Abra Público → Eventos e abra as configurações de eventos de conversão.
- Adicione
PW_InAppPurchasecomo evento de conversão. - Selecione os atributos que contêm o Preço e a Moeda dele.
- Clique em Aplicar.
Para ver todas as opções de configuração, consulte Eventos de conversão.
Rastrear as assinaturas das lojas
Anchor link toSe o seu jogo vende assinaturas, como um passe VIP ou um passe de batalha, o Pushwoosh recebe as mudanças de status delas da App Store e do Google Play. Cada mudança chega como um evento PW_Subscription*, por exemplo:
PW_SubscriptionStart: um jogador faz a assinatura.PW_SubscriptionCancel: um jogador desativa a renovação automática.PW_SubscriptionBillingIssue: um pagamento de renovação falha.
Use esses eventos para iniciar Journeys, por exemplo, um lembrete antes de um passe cancelado expirar.
Os eventos cobrem apenas assinaturas. Compras únicas, como um pacote de moedas, continuam chegando como PW_InAppPurchase.
Armazenar dados dos jogadores em tags
Anchor link toUma tag é um valor que o Pushwoosh armazena no perfil de um jogador, como o nível dele ou se ele já pagou. Um evento registra o que aconteceu, e uma tag guarda o estado atual. As tags ajudam você a:
- Enviar uma mensagem apenas aos jogadores com um determinado valor, por exemplo, uma oferta apenas aos jogadores pagantes.
- Inserir o valor no texto da mensagem, por exemplo, o nível do jogador. Consulte Criar as Journeys.
As tags são opcionais. As Journeys deste playbook funcionam com eventos e com tags padrão que o próprio Pushwoosh define, então, no início, você pode dispensar as suas próprias tags. Adicione-as quando quiser mais formas de agrupar os jogadores. Consulte Segmentos por tags.
As suas próprias tags
Anchor link toOs seus desenvolvedores enviam os valores das tags do jogo, ou você pode importá-los de um arquivo CSV. O Pushwoosh cria uma tag na primeira vez que os seus desenvolvedores a enviam, como uma tag User-specific. Crie primeiro a tag no Painel de Controle se quiser escolher você mesmo o tipo dela. Consulte Gerenciar dados de usuários com tags.
Estas tags são exemplos. Renomeie-as de acordo com o vocabulário do seu jogo e adicione as suas:
| Tag | Tipo | Exemplo | Para que serve |
|---|---|---|---|
player_level | Integer | 12 | Filtrar mensagens por faixa de progresso |
is_paying_user | Boolean | true | Separar as mensagens para pagantes e não pagantes |
soft_currency_balance | Integer | 1500 | Oferecer um pacote de moedas aos jogadores com saldo baixo |
vip_tier | String | gold | Dar aos jogadores VIP ofertas exclusivas e acesso antecipado |
favorite_mode | String | pvp | Anunciar eventos ao vivo para o modo de que o jogador gosta |
Ao criar uma tag no Painel de Controle, mantenha Específico do usuário ativado, como vem por padrão. Assim, o Pushwoosh mantém um valor por User ID, de modo que o valor pertence ao jogador, e não a um dos dispositivos dele. Com Específico do usuário desativado, cada dispositivo mantém o próprio valor. Consulte Identificar os jogadores pelo User ID.
Tags padrão
Anchor link toO Pushwoosh armazena estas tags padrão para cada dispositivo, então você não precisa criá-las:
- Language: o idioma do dispositivo. O Pushwoosh o usa para enviar a cada jogador a mensagem no idioma dele.
- Last Application Open: quando o jogo foi aberto pela última vez no dispositivo. Use-a para encontrar os jogadores que pararam de jogar.
- Push Alerts Enabled: se as notificações estão permitidas nas configurações do dispositivo. Use-a para mostrar uma mensagem in-app apenas aos jogadores que ainda não as permitiram.
- First Install: quando o jogo foi instalado pela primeira vez no dispositivo. Use-a para aniversários de instalação.
- Country: o país do dispositivo. Use-a para enviar uma oferta ou um anúncio de evento ao vivo apenas aos jogadores de uma região.