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-notificationem 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