dito_sdk 0.2.0
dito_sdk: ^0.2.0 copied to clipboard
A Flutter package by Dito that enables user registration and user event tracking.
Dito SDK (Flutter) #
DitoSDK é uma biblioteca Dart que fornece métodos para integrar aplicativos com a plataforma da Dito. Ela permite identificar usuários, registrar eventos e enviar dados personalizados.
Instalação #
Para instalar a biblioteca DitoSDK em seu aplicativo Flutter, você deve seguir as instruções fornecidas nesse link.
Métodos #
initialize() #
Este método deve ser chamado antes de qualquer outra operação com o SDK. Ele inicializa as chaves de API e SECRET necessárias para a autenticação na plataforma Dito.
void initialize({required String apiKey, required String secretKey});
Parâmetros
- apiKey (String, obrigatório): A chave de API da plataforma Dito.
- secretKey (String, obrigatório): O segredo da chave de API da plataforma Dito.
identify() #
O método identify permite associar informações do usuário, como nome, email, gênero, data de nascimento, localização e dados personalizados à sessão do usuário.
void identify({
String? name,
String? email,
String? gender,
String? birthday,
String? location,
Map<String, String>? customData,
});
Parâmetros
- name (String, opcional): Nome do usuário.
- email (String, opcional): Endereço de email do usuário.
- gender (String, opcional): Gênero do usuário.
- birthday (String, opcional): Data de nascimento do usuário (no formato YYYY-MM-DD).
- location (String, opcional): Localização do usuário.
- customData (Map<String, String>, opcional): Dados personalizados adicionais.
setUserId() #
Este método define o ID do usuário que será usado para todas as operações subsequentes.
void setUserId(String userId);
Parâmetros
- userId (String): O ID único do usuário.
setUserAgent() #
Este método permite definir o User-Agent que será enviado nas solicitações HTTP para a plataforma Dito.
void setUserAgent(String userAgent);
Parâmetros
- userAgent (String): O User-Agent personalizado.
identifyUser() #
Este método registra o usuário na plataforma da Dito com as informações fornecidas anteriormente usando o método identify.
Future<void> identifyUser() async;
trackEvent() #
Este método registra um evento na plataforma Dito, associado ao usuário atual.
Future<void> trackEvent({
required String eventName,
double? revenue,
Map<String, String>? customData,
}) async;
Parâmetros
- eventName (String, obrigatório): O nome do evento a ser registrado.
- revenue (double, opcional): A receita associada ao evento.
- customData (Map<String, String>, opcional): Dados personalizados adicionais associados ao evento.
Exemplos #
Uso básico da SDK: #
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Inicializa a SDK com suas chaves de API
dito.initialize(apiKey: 'sua_api_key', secretKey: 'sua_secret_key');
// Define o ID do usuário
dito.setUserId('id_do_usuario');
// Define ou atualiza informações do usuário na instância (neste momento, ainda não há comunicação com a Dito)
dito.identify(
name: 'João da Silva',
email: 'joao@example.com',
location: 'São Paulo',
);
// Envia as informações do usuário (que foram definidas ou atualizadas pelo identify) para a Dito
await dito.identifyUser();
// Registra um evento na Dito
await dito.trackEvent(eventName: 'login');
Uso avançado da SDK: #
main.dart
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Inicializa a SDK com suas chaves de API
dito.initialize(apiKey: 'sua_api_key', secretKey: 'sua_secret_key');
// Define um User-Agent personalizado (opcional)
dito.setUserAgent('Mozilla/5.0 (iPhone 14; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E999 DitoApp/1.0')
login.dart
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Define o ID do usuário
dito.setUserId('id_do_usuario');
arquivoX.dart
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Define ou atualiza informações do usuário na instância (neste momento, ainda não há comunicação com a Dito)
dito.identify(
name: 'João da Silva',
email: 'joao@example.com',
location: 'São Paulo',
);
arquivoY.dart
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Define ou atualiza informações do usuário na instância (neste momento, ainda não há comunicação com a Dito)
dito.identify(
location: 'Rio de Janeiro',
customData: {
'loja preferida': 'LojaX',
'canal preferido': 'Loja Física'
}
);
// Envia as informações do usuário (que foram definidas ou atualizadas pelo identify) para a Dito
await dito.identifyUser();
Isso resultará no envio do seguinte payload do usuário ao chamar identifyUser()
:
{
name: 'João da Silva',
email: 'joao@example.com',
location: 'Rio de Janeiro',
customData: {
'loja preferida': 'LojaX',
'canal preferido': 'Loja Física'
}
}
A nossa SDK é uma instância única, o que significa que, mesmo que ela seja inicializada em vários arquivos ou mais de uma vez, ela sempre referenciará as mesmas informações previamente armazenadas. Isso nos proporciona a flexibilidade de chamar o método identify()
a qualquer momento para adicionar ou atualizar os detalhes do usuário, e somente quando necessário, enviá-los através do método identifyUser()
.
arquivoZ.dart
import 'package:dito_sdk/dito_sdk.dart';
final dito = DitoSDK();
// Registra um evento na Dito
dito.trackEvent(
eventName: 'comprou produto',
revenue: 99.90,
customData: {
'produto': 'produtoX',
'sku_produto': '99999999',
'metodo_pagamento': 'Visa',
},
);
Lembre-se de substituir 'sua_api_key', 'sua_secret_key' e 'id_do_usuario' pelos valores corretos em seu ambiente.