Saltar al contenido principal

Inicialización

Dónde inicializar

Inicialice el SDK en la carga de la aplicación — generalmente en main() o en initState() de su widget de entrada. Consulte las Mejores prácticas para más detalles sobre por qué no debe inicializar al hacer clic en el botón de captura.

Incorporación de credenciales

Instancie un objeto UnicoConfig para cada plataforma con las credenciales proporcionadas por el equipo 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);
}
Implementar UnicoListener

Implemente la interfaz UnicoListener en su clase de estado del widget y sobreescriba los métodos de callback con la lógica de negocio de su aplicación:

class _MyHomePageState extends State<MyHomePage> implements UnicoListener {

late UnicoCheckBuilder _unicoCheck;

@override
void onErrorUnico(UnicoError error) {}

@override
void onUserClosedCameraManually() {}

@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}

@override
void onSystemClosedCameraTimeoutSession() {}
}
Métodos de listener obligatorios

Los cuatro métodos de listener anteriores deben crearse en su proyecto (incluso sin ninguna lógica). De lo contrario, el proyecto no compilará correctamente.

Selección de entorno

La elección de entorno se realiza durante la inicialización. Utilice el enum UnicoEnvironment:

  • UnicoEnvironment.PROD — entorno de producción
  • UnicoEnvironment.UAT — entorno de UAT
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);

Para la lista completa de tipos de entorno disponibles, consulte Referencia de API > API de Inicialización.

Ciclo de vida

La autenticación del SDK con el backend toma algunos segundos. Inicialice tempranamente (arranque en frío de la aplicación), no cuando el usuario toca el botón de captura — de lo contrario, el usuario experimenta un retraso entre el toque y la apertura de la cámara.