Inicialização
Inicialize o SDK no carregamento da aplicação — geralmente no main() ou no initState() do widget de entrada. Consulte Boas práticas para detalhes sobre por que você não deve inicializar no clique do botão de captura.
Instancie um objeto UnicoConfig para cada plataforma com as credenciais fornecidas pelo time de Onboarding:
final _configIos = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Ios",
getHostKey: "Your HostKey Ios");
final _configAndroid = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Android",
getHostKey: "Your HostKey Android");
void initUnicoCamera() {
_unicoCheck = new UnicoCheck(
listener: this,
unicoConfigIos: _configIos,
unicoConfigAndroid: _configAndroid);
}
Implemente a interface UnicoListener na sua classe de estado do widget e sobrescreva os métodos de callback com a lógica de negócio da sua aplicação:
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
@override
void onSystemClosedCameraTimeoutSession() {}
}
Todos os quatro métodos de listener acima devem ser criados no seu projeto (mesmo sem nenhuma lógica). Caso contrário, o projeto não compilará com sucesso.
A escolha de ambiente é feita durante a inicialização. Use o enum UnicoEnvironment:
UnicoEnvironment.PROD— ambiente de produçãoUnicoEnvironment.UAT— ambiente de homologação
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);
Para a lista completa de tipos de ambiente disponíveis, consulte Referência de API > API de Inicialização.
A autenticação do SDK com o backend leva alguns segundos. Inicialize antecipadamente (cold start da aplicação), não quando o usuário tocar no botão de captura — caso contrário, o usuário experimenta lentidão entre o toque e a abertura da câmera.