Integrando com SDK Kotlin
Aqui estão os passos e dicas para conseguir fazer a integração da Dito dentro seu app.
Configurações iniciais
integrar a biblioteca DitoSDK no seu aplicativo Kotlin, siga os passos abaixo:
Atualize o arquivo build.gradle.kts do módulo
No arquivo build.gradle.kts do seu módulo, adicione a seguinte dependência:
dependencies {
// Dependência da Dito SDK
implementation("com.github.ditointernet:sdk_mobile_android:2.1.2")
// Caso utilize o Mobile Push, adicione também:
implementation("com.google.firebase:firebase-bom:33.2.0")
implementation("com.google.firebase:firebase-messaging:24.0.1")
}
Atualize o arquivo settings.gradle.kts
No arquivo settings.gradle.kts, adicione o repositório do JitPack:
dependencyResolutionManagement {
repositories {
...
maven { url = uri("https://jitpack.io") }
}
}
Configuração no AndroidManifest.xml
No arquivo AndroidManifest.xml, adicione suas credenciais da API:
<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_API_SECRET>"/>
</application>
Substitua <MY_API_KEY> e <MY_API_SECRET> pelos valores que podem ser obtidos neste link ou clicando no ícone de engrenagem no canto superior direito da tela no CRM Dito.
Importante: Armazene sua API Key e Secret Key em um arquivo .env para segurança.
Permissões para Notificações Push
Caso utilize notificações push, adicione a seguinte permissão no AndroidManifest.xml:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
Implementação do SDK
Inicializando o SDK
No método onCreate() da sua classe que estende Application, inicialize o SDK da Dito:
override fun onCreate() {
super.onCreate()
val options = Options().apply {
debug = true // Apenas adicione esta linha se quiser ativar o modo debug
}
Dito.init(this, options)
}
A classe Options não é obrigatória. Ela permite configurar:
- retry (padrão = 5): Número de tentativas de envio de eventos pelo SDK.
- iconNotification: ID de recurso do ícone para notificações.
- contentIntent: Intent que será aberta quando o usuário clicar na notificação. Se não for definido, o SDK tentará recuperar a Activity configurada como .
Identificando Usuários
Para identificar um usuário, utilize o classe identify e envie o evento com o método identify():
val identify = Identify("85496430259") // ID do usuário
Dito.identify(identify)
A classe Identify possui os seguintes parâmetros:
- id: Identificador do usuário (obrigatório).
- name: Nome do usuário.
- email: E-mail do usuário.
- gender: Gênero do usuário.
- location: Localização do usuário.
- birthday: Data de nascimento do usuário.
- data: Objeto CustomData que aceita parâmetros customizados.
Envio de Eventos
Para enviar um evento, utilize o método track():
Dito.track(Event("comprou", 2.5))
A classe Event possui os seguintes parâmetros:
- action: Nome do evento (obrigatório).
- revenue: Receita gerada pelo evento.
- data: Objeto CustomData para parâmetros customizados.
Configuração para Notificações Push
Para receber notificações push, o Firebase deve estar configurado no projeto. Além disso, adicione os seguintes elementos ao AndroidManifest.xml:
<application>
...
<service
android:name="br.com.dito.ditosdk.notification.DitoMessagingService"
android:exported="true"
android:permission="POST_NOTIFICATIONS">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver android:name="br.com.dito.ditosdk.notification.NotificationOpenedReceiver"/>
</application>
Registro do Mobile Token
Após identificar o usuário, registre o token do dispositivo para notificações push:
FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
if (!task.isSuccessful) {
Log.w("Dito", "Falha ao buscar token FCM", task.exception)
return@addOnCompleteListener
}
val token = task.result
Dito.registerDevice(token!!)
}
Notificação Lida
Para marcar uma notificação como lida, utilize o método notificationRead(), passando o ID da notificação enviado pela Dito no atributo data:
Dito.notificationRead(notification)
Consulte a documentação oficial do FCM para detalhes sobre como interceptar notificações.
Updated about 1 month ago