Inisialisasi
Inisialisasi SDK saat aplikasi dimuat — biasanya di main() atau di initState() widget entri Anda. Lihat Praktik terbaik untuk detail mengapa Anda sebaiknya tidak menginisialisasi pada klik tombol pengambilan.
Implementasikan UnicoConfig untuk kedua platform dengan kredensial yang disediakan oleh tim 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);
}
Buat builder (dihasilkan melalui antarmuka UnicoCheckBuilder), dengan menyediakan konteks dan implementasi kelas UnicoListener. Override metode callback dengan logika bisnis aplikasi Anda:
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
@override
void onSystemClosedCameraTimeoutSession() {}
}
Keempat metode listener di atas harus dibuat di proyek Anda (bahkan tanpa logika apa pun). Jika tidak, proyek tidak akan berhasil dikompilasi.
Pilihan antara sandbox dan production dibuat selama inisialisasi. Gunakan enum UnicoEnvironment:
UnicoEnvironment.PROD— lingkungan produksiUnicoEnvironment.UAT— lingkungan staging
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);
Untuk daftar lengkap jenis lingkungan yang tersedia, lihat API Reference > Initialization API.
Autentikasi SDK dengan backend membutuhkan beberapa detik. Inisialisasi lebih awal (cold start aplikasi), bukan saat pengguna mengetuk tombol pengambilan — jika tidak, pengguna akan mengalami jeda antara ketukan dan pembukaan kamera.