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ívelDepois 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
Stringcontendo 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 umiddo erro e umamessagedescritiva.
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 6 months ago
