Eventos e como se relacionam com a Dito
No fluxo de mobile push, diversos eventos são gerados e registrados nas fichas dos usuários com o objetivo de fornecer dados detalhados para análises e contabilização de métricas. Esses eventos são essenciais para monitorar o engajamento dos usuários, a eficácia das notificações, e a adesão aos serviços de push. Abaixo, explicaremos como esse processo funciona, quais eventos são gerados e como são utilizados nas análises.
Eventos emitidos pela Dito
Envio de Notificação
evento: should-receive-mobile-push-notification
Esse evento é disparado no momento em que uma notificação é enviada pelo disparador, isso indica que o envio para o usuário está sendo processado.
Esse evento é utilizado para contabilizar e monitorar o envio de notificações via mobile push.
As propriedades que são consideradas nesse evento são:
{
"campaign_svc_api_version": "2.0", // Versão da API do serviço de campanhas
"canal": "mobile", // Canal de envio da notificação (neste caso, mobile)
"id-disparo": "", // ID único do disparo da notificação
"id-notificacao": "", // ID único da notificação
"nome_notificacao": "", // Nome da notificação
"provedor": "firebase", // Provedor de envio (Firebase, neste exemplo)
"sistema_operacional": "ANDROID/APPLE IPHONE", // Sistema operacional do dispositivo que receberá a notificação
"token": "", // Token do dispositivo que receberá a notificação
"utm_source": "direct" // Origem da campanha
}
Erro ao entregar a notificação
Os eventos são divididos em dois tipos de erros.
Hard Bounce
evento: erro-entrega-notificacao
O evento é disparado quando ocorre uma tentativa malsucedida de envio de notificação via Firebase, resultando em um erro do tipo Hard Bounce. Esse tipo de erro indica que o problema é permanente e impede novas entregas de notificações para o usuário, geralmente causado por situações como token inválido ou incompatibilidades de configuração
As propriedades que são consideradas nesse evento são:
{
"utm_source": "direct", // Fonte da campanha que originou a notificação
"sistema_operacional": "ANDROID", // Sistema operacional do dispositivo (ANDROID ou APPLE IPHONE)
"dispositivo": "Mobile", // Dispositivo de recebimento da notificação
"campaign_svc_api_version": "2.0", // Versão da API da campanha de envio
"canal": "mobile", // Canal utilizado (neste caso, mobile)
"motivo": "", // Descrição detalhada do motivo do erro
"id-disparo": "", // Identificador único do disparo da notificação
"id-notificacao": "", // Identificador único da notificação
"motivo": "", // Razão técnica do erro
"nome_notificacao": "", // Nome da notificação
"tipo_erro": "HARD_BOUNCE", // Tipo de erro (neste caso, Hard Bounce)
"token": "" // Token do dispositivo onde a tentativa de entrega falhou
}
Soft Bounce
evento: erro-entrega-notificacao
O evento é disparado quando ocorre uma tentativa malsucedida de envio de notificação, resultando em um erro do tipo Soft Bounce. Esse erro não é permanente, ou seja, é possível que a entrega seja realizada com sucesso em tentativas futuras. Alguns motivos para o erro podem incluir:
- O dispositivo do usuário está offline ou fora de alcance da rede.
- Problemas temporários no cache do dispositivo, afetando a recepção de notificações.
- Falta de espaço no dispositivo, que impede o recebimento de notificações.
As propriedades que são consideradas nesse evento são:
{
"utm_source": "direct", // Fonte da campanha que originou a notificação
"sistema_operacional": "ANDROID", // Sistema operacional do dispositivo (ANDROID ou APPLE IPHONE)
"dispositivo": "Mobile", // Dispositivo de recebimento da notificação
"campaign_svc_api_version": "2.0", // Versão da API da campanha de envio
"canal": "mobile", // Canal utilizado (neste caso, mobile)
"motivo": "", // Descrição detalhada do motivo do erro
"id-disparo": "", // Identificador único do disparo da notificação
"id-notificacao": "", // Identificador único da notificação
"motivo": "", // Razão técnica do erro
"nome_notificacao": "", // Nome da notificação
"tipo_erro": "SOFT_BOUNCE", // Tipo de erro (neste caso, Soft Bounce)
"token": "" // Token do dispositivo onde a tentativa de entrega falhou
}
Eventos emitidos pelo aplicativo
Assinatura no canal mobile push
evento: assinou-mobile-push
O evento é disparado quando o usuário autoriza o recebimento de notificações push pelo aplicativo e um token válido é cadastrado em seu perfil.
Esse evento é importante para contabilizar a adesão dos usuários ao serviço de notificações push.
⚠️ Importante: Esse evento não é gerado via Dito. Para que esse evento seja cadastrado na ficha do cliente, é necessário que seja implementado no aplicativo.
Caso esteja utilizando a SDK da Dito, deve-se chamar a função trackEvent
no momento em que o usuário assina/permite receber as notificações de push no seu dispositivo. Consulte nossas documentações das SDKs de Flutter e Kotlin
Caso seu aplicativo integre via API consulte a seguinte documentação: Trackear usuário
Para que a integração funcione corretamente os dados devem ser:
Nome do evento: assinou-mobile-push
Dados do evento:
{
"sistema_operacional": "ANDROID", // Sistema operacional do dispositivo (ANDROID ou APPLE IPHONE)
"app_build": "1", // Build do aplicativo
"app_id": "com.example.app", // ID do aplicativo
"app_platform": "Android", // Plataforma do aplicativo (Android ou iOS)
"app_version": "1.0.0", // Versão do aplicativo
"sdk_build": "1", // Build da SDK utilizada
"sdk_lang": "Flutter", // Linguagem da SDK (nesse caso, Flutter)
"sdk_version": "0.5.4", // Versão da SDK utilizada
"token": "" // Token de notificação registrado
}
Exemplos:
dito.trackEvent(
eventName: 'assinou-mobile-push',
customData: {
'sistema_operacional': 'ANDROID',
'app_build': '1',
'app_id': 'com.example.app',
'app_platform': 'Android',
'app_version': '1.0.0',
'sdk_build': '1',
'sdk_lang': 'Flutter',
'sdk_version': '0.5.4',
'token': ''
},
);
val data = CustomData()
data.add("sistema_operacional", "ANDROID")
data.add("app_build", "1")
data.add("app_id", "com.example.app")
data.add("app_platform", "Android")
data.add("app_version", "1.0.0")
data.add("sdk_build", "1")
data.add("sdk_lang", "Kotlin")
data.add("sdk_version", "2.1.2")
data.add("token", "")
Dito.track(Event("receive-android-notification", 0, data))
curl --request POST
--url http://events.plataformasocial.com.br/users/{{user_id}}
--header 'Accept: application/json;charset=utf-8'
--header 'Content-Type: application/json;charset=utf-8'
--header 'accept: application/json'
--data '
{
"id_type": "id",
"sha1_signature": "{{sha1_signature}}",
"platform_api_key": "{{api_key}}",
"network_name": "pt",
"event": {
"action": "receive-android-notification",
"data": {
"sistema_operacional": "ANDROID",
"app_build": "1",
"app_id": "com.example.app",
"app_platform": "Android",
"app_version": "1.0.0",
"sdk_build": "1",
"sdk_lang": "Flutter",
"sdk_version": "0.5.4",
"token": ""
}
},
}
'
Recebimento de Notificação
evento: receive-android-notification
ou receive-ios-notification
O evento é disparado quando uma notificação é exibida na tela do dispositivo do usuário.
Esse evento é importante para monitorar a entrega e visualização das notificações, permitindo acompanhar o sucesso do envio e a efetividade das campanhas. A métrica de entrega exibida nos relatórios é calculada tomando como base esses eventos gerados.
⚠️ Importante: Esse evento não é gerado via Dito. Para que esse evento seja cadastrado na ficha do cliente, é necessário que seja implementado no aplicativo.
Caso esteja utilizando a SDK da Dito, deve-se chamar a função trackEvent
no momento em que a notificação for recebida e exibida no dispositivo do usuário. Consulte nossas documentações das SDKs de Flutter e Kotlin
Caso seu aplicativo integre via API consulte a seguinte documentação: Trackear usuário
Para que a integração funcione corretamente os dados devem ser:
Nome do evento: receive-android-notification
em aparelhos Android e receive-ios-notification
em aparelhos iOS.
Dados do evento:
{
"canal": "mobile", // Canal de envio da notificação (neste caso, mobile)
"id-disparo": "", // ID único do disparo da notificação
"id-notificacao": "", // ID único da notificação
"nome_notificacao": "",// Nome da notificação
"provedor": "" , // Provedor de envio (Firebase, neste exemplo)
"sistema_operacional": "ANDROID",// Sistema operacional do dispositivo que receberá a notificação
"token": "",// Token do dispositivo que receberá a notificação
}
Exemplos:
dito.trackEvent(
eventName: 'receive-android-notification',
customData: {
'canal': 'mobile',
'id-disparo': '',
'id-notificacao': '',
'nome_notificacao': '',
'provedor': '' ,
'sistema_operacional': "ANDROID",
'token': "",
},
);
val data = CustomData()
data.add("canal", "mobile")
data.add("id-disparo", "")
data.add("id-notificacao", "")
data.add("nome_notificacao", "")
data.add("provedor", "")
data.add("sistema_operacional", "ANDROID")
data.add("token", "")
Dito.track(Event("receive-android-notification", 0, data))
curl --request POST
--url http://events.plataformasocial.com.br/users/{{user_id}}
--header 'Accept: application/json;charset=utf-8'
--header 'Content-Type: application/json;charset=utf-8'
--header 'accept: application/json'
--data '
{
"id_type": "id",
"sha1_signature": "{{sha1_signature}}",
"platform_api_key": "{{api_key}}",
"network_name": "pt",
"event": {
"action": "receive-android-notification",
"data": {
"canal": "mobile",
"id-disparo": "",
"id-notificacao": "",
"nome_notificacao": "",
"provedor": "" ,
"sistema_operacional": "ANDROID",
"token": "",
}
},
}
'
Clique na Notificação
evento: click-notification
O evento é disparado quando o usuário clica em uma notificação exibida na tela do dispositivo.
Esse evento é importante para rastrear a interação dos usuários com as notificações push e medir a efetividade das campanhas. A métrica de clique exibida nos relatórios é calculada tomando como base esses eventos gerados.
⚠️ Importante: Esse evento não é gerado via Dito. Para que esse evento seja cadastrado na ficha do cliente, é necessário que seja implementado no aplicativo.
Caso esteja utilizando a SDK da Dito, deve-se chamar a função de clique no momento em que a notificação for recebida e tiver sido clicada pelo usuário. Consulte nossas documentações das SDKs de Flutter e Kotlin
Caso seu aplicativo integre via API consulte a seguinte documentação: Notificar abertura de notificação
Updated 26 days ago