dito_sdk 3.4.0
dito_sdk: ^3.4.0 copied to clipboard
Plugin Flutter para integração com o CRM Dito, fornecendo APIs unificadas para iOS e Android
Funcionalidades #
- feat: rich mobile push, consolidado e validado em dispositivo (E3–E7) (#29) (b23d2ee)
Outros #
- chore(release): ios 3.7.0 (cf678ea)
- chore(release): android 3.8.0 (bad0db9)
Funcionalidades #
- feat: update Android and iOS SDK with new features and improvements (#15) (6da26b7)
Push rico: imagem, botões de ação e custom data #
Requer SDK nativa nova nas duas plataformas: Android 4.1.0 e iOS 3.6.0. Com uma versão anterior as chaves chegam no payload mas nada as renderiza.
DitoSdk.parsePushPayload(data)e o modeloDitoPushPayload/DitoPushAction, para ler imagem, botões e custom data de umRemoteMessage.data. É parsing puro: roda em background handler e em teste.DitoNotificationClickganhouactionId,actionLabel,customDataeisActionClick. Num clique em botão,deeplinkjá é o link do próprio botão.DitoNotificationInfoganhouimageecustomData.- O clique agora chega ao stream
onNotificationClicktambém quando nasce na notificação nativa. Antes só o clique roteado porhandleNotificationClickera emitido, e o toque em botão nunca passa por lá — oPendingIntentdo botão vai para a Activity do SDK, então oFirebaseMessaging.onMessageOpenedAppnão dispara. - iOS: imagem e botões exigem uma Notification Service Extension no app, linkando o pod
DitoSDKNotificationService. Sem ela o push degrada para título e corpo. Passo a passo no README. - Sample app: nova seção "Último push recebido", com o payload cru e o parseado na tela.
Toolchain #
- Versão de Flutter fixada no CI (
3.44.5) em vez de sóchannel: stable. environmentcoerente:flutter: '>=3.38.0'comsdk: '>=3.10.7'. O par anterior (flutter: '>=3.24.0') descrevia uma combinação que não existe, já que Flutter 3.24 ship Dart 3.5. Não sobe o piso: osdk:já o fixava em Dart 3.10.7.
3.4.0 #
Novas funcionalidades #
DitoNotificationOptionsesetNotificationOptions(ícones Android como resource IDint?, som, cor de destaque)- Inbox local:
getNotifications,markNotificationAsRead, modeloDitoNotificationInfo setDebugMode,initializeWithApiKeyhandleNotificationReceived,handleNotificationClick- Stream estático
DitoSdk.onNotificationClickcomDitoNotificationClick - Getter
isInitialized
Requisitos #
- Flutter
>=3.24.0, Dart>=3.10.7 - Android
minSdk26, iOS 16.0+ - Dependência nativa
DitoSDK~> 3.4.0 (CocoaPods / Maven)
Correções #
- fix(ios): safe AnyHashable-to-String cast in notification userInfo handling (#12)
Outros #
- chore: update Flutter version and SDK constraints in workflows and pubspec
- feat(notification): global callback for notification clicks and deeplinks
- Documentação README alinhada à API de instância e novos métodos
3.1.3 - 2025-02-05 #
Correções #
- Corrigido uso de
rethrowem tratamento de exceções para seguir melhores práticas do Dart - Corrigido uso de
initializing formalsem construtores
Outros #
- Removida
sample_applicationdo pacote publicável - Adicionado
.pubignorepara exclusão de arquivos desnecessários - Removida configuração de workspace do pubspec
- Excluída
sample_applicationda análise de código do SDK - Removidos builds de exemplo dos workflows de CI
Outros #
- chore(dependencies): update pubspec.lock with version downgrades and updated checksums (b0327de)
- chore(flutter): Add .pubignore and update pubspec files (c78643e)
Outros #
- chore(flutter): Exclude sample application from analysis (633e8fe)
Outros #
- refactor(flutter): Simplify error handling in DitoSdk methods (fe7db44)
Funcionalidades #
- feat(docs): Update README and configuration for background notification tracking in Android and iOS (fac2d56)
- feat(android): Enhance Firebase Messaging integration and update dependencies (08f6411)
Correções #
- fix(dependencies): downgrade flutter_lints version in pubspec.yaml files (b12c4e6)
Outros #
- chore(pubspec): update SDK constraints in pubspec.yaml files (4467436)
- chore(pubspec): remove pubspec.lock and add resolution directive (4155703)
- refactor(workflows): update example directory references in CI configurations (5fef648)
Changelog #
Todas as mudanças notáveis neste plugin serão documentadas neste arquivo.
1.0.0 2024-01-XX #
Adicionado #
- Inicialização do SDK com
initialize(apiKey, apiSecret) - Identificação de usuários com
identify(id, name, email, customData) - Rastreamento de eventos com
track(action, data) - Registro de tokens de dispositivo com
registerDeviceToken(token) - Interceptação de push notifications via métodos estáticos
- Tratamento de erros robusto com mensagens descritivas
- Validação de parâmetros (API keys, emails, IDs, etc.)
- Documentação completa com exemplos
- App de exemplo demonstrando todas as funcionalidades
Melhorado #
- Mensagens de erro mais descritivas e úteis
- Documentação com guias de integração para push notifications
- Exemplos de código atualizados