Monorepo unificado contendo as SDKs nativas iOS e Android da Dito, além de wrappers Flutter e React Native para integração com o CRM Dito.
Este monorepo contém:
- SDKs Nativas: Implementações nativas para iOS e Android
- Plugins Cross-Platform: Wrappers Flutter e React Native que fornecem APIs unificadas
- Documentação: Guias completos de integração e uso
- Exemplos: Apps de exemplo demonstrando o uso de cada plataforma
dito_sdk_flutter/
├── ios/ # SDK iOS nativa
│ └── README.md # Documentação iOS
├── android/ # SDK Android nativa
│ └── README.md # Documentação Android
├── flutter/ # Plugin Flutter
│ ├── example/ # App de exemplo Flutter
│ ├── README.md # Documentação Flutter
│ └── LICENSE # Licença Flutter
├── react-native/ # Plugin React Native
│ ├── example/ # App de exemplo React Native
│ └── README.md # Documentação React Native
├── docs/ # Documentação adicional
│ ├── push-notifications.md # Guia unificado de Push Notifications
│ └── todos.md # Lista de TODOs/FIXMEs
├── scripts/ # Scripts de build e release
├── LICENSE # Licença do repositório
└── README.md # Este arquivo
- iOS SDK - SDK nativa iOS com guia completo de instalação e uso
- Android SDK - SDK nativa Android com guia completo de instalação e uso
- Flutter Plugin - Plugin Flutter com guia completo
- React Native Plugin - Plugin React Native com guia completo
- Guia de Push Notifications - Guia unificado para todas as plataformas
- Lista de TODOs/FIXMEs - Itens pendentes e melhorias planejadas
import 'package:dito_sdk/dito_sdk.dart';
// Inicializar SDK
await DitoSdk.initialize(
apiKey: "sua-api-key",
apiSecret: "seu-api-secret",
);
// Identificar usuário
await DitoSdk.identify(
id: 'user123',
name: 'John Doe',
email: 'john@example.com',
);
// Rastrear evento
await DitoSdk.track(
action: 'purchase',
data: {'product': 'item123', 'price': 99.99},
);import DitoSdk from '@ditointernet/dito-sdk';
// Inicializar SDK
await DitoSdk.initialize({
apiKey: "sua-api-key",
apiSecret: "seu-api-secret",
});
// Identificar usuário
await DitoSdk.identify({
id: 'user123',
name: 'John Doe',
email: 'john@example.com',
});
// Rastrear evento
await DitoSdk.track({
action: 'purchase',
data: { product: 'item123', price: 99.99 },
});Para exemplos completos e guias detalhados, consulte a documentação específica de cada plataforma.
- Flutter: Flutter 3.3.0+ e Dart 3.10.7+
- React Native: React Native 0.72.0+ e Node.js 16+
- iOS: Xcode 14+ e iOS 16.0+
- Android: Android Studio e Android API 24+
- Melos: Para gerenciamento do monorepo Flutter
Opção 1: Script de Setup Automático (Recomendado)
cd flutter
./setup_melos.shOpção 2: Manual
Instalar Melos:
dart pub global activate melosBootstrap do monorepo Flutter:
cd flutter
melos bootstrapEste comando irá:
- Instalar dependências em todos os pacotes Flutter
- Criar links simbólicos entre os pacotes
- Executar hooks de pós-instalação
Análise e Formatação:
cd flutter
melos run analyze # Analisar todos os pacotes
melos run format # Formatar código
melos run format:check # Verificar formatação
melos run lint # Executar linter com warnings fataisTestes:
cd flutter
melos run test # Executar testes unitários
melos run test:integration # Executar testes de integração
melos run check # Executar todos os checks (format, analyze, test)Build:
cd flutter
melos run build:plugin # Build do plugin Flutter
melos run build:example # Build do app de exemplo
melos run clean # Limpar todos os pacotesExecutar App de Exemplo:
cd flutter
melos run run:android # Executar no Android
melos run run:ios # Executar no iOSGerenciamento de Dependências:
cd flutter
melos run pub:get # Executar pub get em todos os pacotes
melos run upgrade # Atualizar dependências./scripts/build-all.sh./scripts/release.shFlutter (usando Melos):
cd flutter
melos run run:android # ou melos run run:iosFlutter (tradicional):
cd flutter/example
flutter runReact Native:
cd react-native/example
npm install
npm run ios # ou npm run android- ✅ Inicialização do SDK
- ✅ Identificação de usuários
- ✅ Rastreamento de eventos
- ✅ Registro de tokens de dispositivo
- ✅ Interceptação de push notifications
- ✅ Tratamento de erros robusto
- ✅ Documentação completa
- 🔄 Métricas avançadas
- 🔄 A/B Testing
- 🔄 Personalização de notificações
Erro de inicialização no Android:
- Verifique se as credenciais estão configuradas no
AndroidManifest.xml - Certifique-se de que o SDK nativo está incluído como dependência
Erro de inicialização no iOS:
- Verifique se as credenciais estão configuradas no
Info.plist - No iOS 18+, configure o Firebase ANTES do Dito SDK
Push notifications não funcionam:
- Verifique se o método estático está sendo chamado corretamente
- Confirme que o campo
channelna notificação é igual a"Dito"
Para mais detalhes, consulte a seção de troubleshooting nos READMEs específicos de cada plataforma ou o guia unificado de Push Notifications.
Este projeto está licenciado sob uma licença proprietária que permite o uso das SDKs em aplicações comerciais e próprias dos clientes, mas proíbe modificação, cópia e redistribuição do código fonte.
Resumo dos Termos:
- ✅ Permite uso das SDKs em aplicações comerciais
- ✅ Permite uso em aplicações próprias dos clientes
- ❌ Proíbe modificação do código fonte
- ❌ Proíbe cópia e redistribuição do código
- ❌ Proíbe engenharia reversa
Veja LICENSE para detalhes completos dos termos de licenciamento.
Contribuições são bem-vindas! Por favor, leia nosso guia de contribuição antes de enviar PRs.
Para suporte, entre em contato através dos canais oficiais da Dito.