Dito Android SDK
Exemplo de implementação
Dependência
No build.gradle da diretório raiz do projeto você deve adicionar a URL do repositiro
allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}
E depois adiciona a dependência:
dependencies {
  implementation('com.github.ditointernet:sdk_mobile_android') {
    version {
      branch = 'sdk-kotlin'
    }
  }
}
Configuração
AndroidManifest
No AndroidManifest é onde você configura as chaves de acesso da sua aplicação:
<application>
  ...
  <meta-data android:name="br.com.dito.API_KEY" android:value="<MY_API_KEY>"/>
  <meta-data android:name="br.com.dito.API_SECRET" android:value="<MY_APY_SCRET>"/>
</application>
Permissões
  <uses-permission android:name="android.permission.INTERNET" />
Inicialização
No metodo onCreate da sua classe que estende de Application você deve iniciar o SDK:
override fun onCreate() {
  super.onCreate()
  Dito.init(this, Options(2)
}
Options não é uma configuração obrigatório, e você pode usa-lo para as seguintes configurações:
- 
retry (default = 5) - É numero de tentativas que o SDK vai fazer de envio do evento.
 - 
iconNotification - É o Ressource ID do icone para notificação
 - 
contentIntent - É a Intent que será aberta quando o usuário clicar na notificação. Caso esse valor essa null, vamos tentar recuperar a Activity que está configurada como
<action android:name="android.intent.action.MAIN" />. 
Envio de eventos
Indentificar Usuário
Para identificar um usuário é preciso criar um objeto Identify passando no construtor um ID.
val identify = Identify("85496430259")
Dito.identify(identify, { callback() })
A classe Identify tem os seguintes parâmetros:
- id - Identificador do usuário, obrigatório.
 - name - Nome do usuário.
 - email - E-mail do usuário
 - gender - Orientação sexual do usuário
 - location - Localização do usuário
 - birthday - Data de nascimento do usuário
 - data - É um objeto do tipo 
CustomDataque aceita parâmetros customizados. 
Evento
Dito.track(Event("comprou", 2.5))
A classe Eventtem os seguintes parâmetros:
- action - Nome do evento, obrigatório.
 - revenue - Receita do evento.
 - data - É um objeto do tipo 
CustomDataque aceita parâmetros customizados. 
Push Notification
A Dito usa o FCM para envio das notificaões, o primeiro passo é você configurar as dependências do FCM:
dependencies {
  implementation 'com.google.firebase:firebase-core:16.0.4'
  implementation "com.google.firebase:firebase-messaging:17.3.4"
}
E configurar o seu projeto seguindo da documentação oficial do FCM. Clique aqui.
Recuperar e registrar token
FirebaseInstanceId.getInstance().instanceId.addOnSuccessListener {
  it?.token?.let {
    Dito.registerDevice(it)
  }
}
Deletar token
Dito.unregisterDevice(token)
Registrar leitura da notificação
O metódo notificationRead recebe como parâmetro o ID da notificação que é enviado pela Dito, no atributo data e também o reference do usuário. Para interceptar as notificações consulte a documentação oficial do FCM. Clique aqui.
Dito.notificationRead(notification, reference)
Notificação simples
A Dito disponibiliza uma forma simples para receber e identificar a leitura das notificações, só adicionar as configurações abaixo no seu AndroidManifest:
<application>
  ...
  <service android:name="br.com.dito.ditosdk.notification.DitoMessagingService">
    <intent-filter>
      <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
  </service>
  <receiver android:name="br.com.dito.ditosdk.notification.NotificationOpenedReceiver"/>
</application>
