Flutter SDK
Nesta seção, você encontrará todas as informações necessárias para instalar o SDK da plataforma em seus aplicativos Flutter
📲 Guia de instalação – Flutter SDK
🧱 Requisitos do Ambiente de Desenvolvimento
- SDK do Flutter instalado (versão 3.3.0 ou superior)
- Android: 9.0+ (API 28)
- iOS: 13+
📱 Dispositivos Compatíveis
Este SDK funciona apenas em dispositivos físicos, não em emuladores ou simuladores.
Dispositivos iOS
Compatível com a maioria dos dispositivos com iOS 13+. Consulte a documentação oficial da Apple para a lista completa de modelos suportados.
Dispositivos Android
Compatível com a maioria dos dispositivos Android com versão 9.0 (API 28) ou superior.
Algumas extensões de fornecedores podem depender de APIs ou SKUs específicos do fabricante.
📦 Configurando o Acesso e Instalação do SDK Flutter
1. Autenticação com o Repositório Privado
Para acessar nosso SDK, você precisará autenticar seu ambiente Flutter com nosso repositório Pub privado. Durante o processo de onboarding, você receberá um token de autenticação.
Execute o seguinte comando no seu terminal. Você será solicitado a colar o token fornecido:
$ flutter pub token add https://altpub.altb.co
Após executar o comando, cole o token quando solicitado e pressione Enter.
2. Adicionando a Dependência
Com a autenticação configurada, adicione a seguinte dependência ao seu arquivo pubspec.yaml
:
dependencies: flutter: sdk: flutter # Adicione outras dependências aqui alt_kyc_sdk_pub: hosted: https://altpub.altb.co version: ^1.0.0 # Certifique-se de usar a versão mais recente disponível
Depois de adicionar a dependência ao pubspec.yaml
, execute o comando abaixo na raiz do seu projeto Flutter para instalar o pacote:
$ flutter pub get
Nota: Se o pacote não for instalado, verifique se a configuração no pubspec.yaml
está correta, se o token foi adicionado com sucesso e se você executou flutter pub get
.
🚨 Permissões Necessárias
O SDK requer permissões para acessar a câmera (para Liveness e Validação de Documentos) e a internet (para comunicação com os servidores).
iOS
Adicione as seguintes chaves ao arquivo Info.plist
do seu projeto iOS (localizado em ios/Runner/Info.plist
) para descrever o motivo do uso da câmera:
<key>NSCameraUsageDescription</key> <string>Precisamos de acesso à câmera para realizar a prova de vida e capturar seus documentos.</string>
A permissão de internet (NSAppTransportSecurity
) geralmente é configurada por padrão, mas garanta que seu aplicativo possa acessar a internet.
Android
Adicione as seguintes permissões ao seu arquivo AndroidManifest.xml
(localizado em android/app/src/main/AndroidManifest.xml
), dentro da tag <manifest>
:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" />
Para Android 6.0 (API 23) e superior, você também precisará implementar a solicitação de permissões em tempo de execução. O SDK tentará lidar com isso internamente, mas é uma boa prática estar ciente deste requisito da plataforma.
📥 Importando e Utilizando o SDK
No seu código Dart, importe o pacote:
import 'package:alt_kyc_sdk_pub/alt_kyc_sdk.dart';
Exemplo de Inicialização e Uso:
Para iniciar o processo de KYC, você chamará o método AltKycSDK.start
. Este método é responsável por apresentar a interface de usuário do SDK, que guiará o cliente através dos 4 fluxos principais: Validação de Telefone, Validação de Dispositivo, Liveness e Validação de Documentos. Internamente, ao chamar AltKycSDK.start
, o SDK utiliza o sistema de navegação do Flutter para apresentar uma nova sequência de telas (de forma similar a um novo MaterialApp
ou um fluxo de Widgets
que ocupa toda a tela), gerenciando este fluxo de forma independente. Após a conclusão do fluxo (seja por sucesso, erro ou cancelamento pelo usuário), o SDK retornará o controle para a sua aplicação.
O método AltKycSDK.start
pode retornar diferentes tipos de objetos dependendo do resultado da operação:
- Em caso de sucesso e conclusão do fluxo, ele retornará uma
String
contendo osessionId
. - Em caso de erro de fluxo (por exemplo, falha na validação, cancelamento pelo usuário, etc.), ele retornará um objeto
AltKycError
, que contém umid
do erro e umamessage
descritiva.
Conceitualmente, a integração seria da seguinte forma:
// Importe o SDK import 'package:alt_kyc_sdk_pub/alt_kyc_sdk.dart'; // Definição conceitual da classe de erro, caso não seja exportada diretamente pelo SDK // class AltKycError { // final String id; // final String message; // AltKycError({required this.id, required this.message}); // } void iniciarFluxoKYC() async { try { // Inicialize o SDK com os dados do usuário e configurações final kycConfig = AltKycConfig( fullName: "Nome Completo do Usuário", cpf: "12345678900", email: "[email protected]", dateOfBirth: "YYYY-MM-DD", // ou objeto DateTime tenantToken: "SEU_TENANT_TOKEN_AQUI", // Token específico do seu tenant webhookUrl: "https://seu-backend.com/webhook/altkyc", ); // Inicie o fluxo principal do SDK. final dynamic result = await AltKycSDK.start(config: kycConfig); if (result is String) { final String sessionId = result; print("Fluxo KYC concluído com sucesso. Session ID: $sessionId"); // Armazene o sessionId para consultas futuras ao seu backend // Prossiga com a lógica da sua aplicação para sucesso } else if (result is AltKycError) { // Assumindo que AltKycError é uma classe importada do SDK ou definida no seu projeto print("Erro no fluxo KYC: ID - ${result.id}, Mensagem - ${result.message}"); // Trate o erro de KYC específico (ex: exibir mensagem para o usuário) } else { print("Resultado inesperado do fluxo KYC: $result"); // Trate como um erro/resultado inesperado } } catch (e) { // Catches outras exceções (ex: PlatformException, erros de rede não tratados pelo SDK) print("Erro crítico ao executar o fluxo KYC: $e"); // Trate os erros apropriadamente } }
Consulte a documentação completa da API do AltKycSDK para obter detalhes sobre as classes (incluindo AltKycError
), métodos, configurações e callbacks disponíveis.
Updated about 2 months ago