Praktik Terbaik
Halaman ini merangkum panduan terpenting untuk mengintegrasikan dan memelihara SDK Unico. Mengikuti praktik ini mengurangi kesalahan integrasi, mencegah insiden keamanan, dan memastikan peluncuran produksi yang lancar.
Memulai
Unico menyediakan aplikasi referensi untuk setiap SDK di repository reference-apps. Setiap aplikasi mengimplementasikan user journey secara lengkap.
SDK terus berkembang untuk menghadirkan keamanan yang lebih baik dan fitur baru. Menerapkan pembaruan dengan segera — terutama yang bersifat kritis — sangat penting. Lihat Kebijakan Pembaruan untuk jadwal dan kewajiban yang berlaku.
Periksa versi terkini untuk setiap platform melalui catatan rilis masing-masing:
Strategi pembaruan
Aplikasi Anda kemungkinan memuat beberapa pustaka bersamaan dengan SDK Unico. Meningkatkan beberapa dependensi sekaligus menyulitkan identifikasi akar penyebab kegagalan. Perbarui SDK secara terpisah dan validasi di lingkungan staging sebelum menggabungkannya dengan perubahan lain.
Saat membuka tiket dukungan terkait masalah pembaruan, sertakan:
- Bahasa SDK dan jenis implementasi (native atau hybrid)
- Framework yang digunakan
- Versi saat ini dan versi target
- API Key
- Deskripsi perubahan dan langkah-langkah untuk mereproduksi masalah
- Hasil, kesalahan, log, tangkapan layar, atau video
Keamanan JWT
JWT yang dikembalikan setelah pengambilan gambar yang berhasil bersifat terenkripsi. Jangan membuka, mengurai, atau melakukan serialisasi padanya. Struktur internalnya dapat berubah tanpa pemberitahuan. Gunakan hanya saat mengirimkan gambar ke API Unico.
Untuk pratinjau gambar, gunakan atribut Base64 yang disediakan bersama JWT — jangan pernah mendekode JWT itu sendiri.
Demi alasan keamanan, JWT harus dikirim ke backend Unico dalam 10 menit setelah pengambilan gambar. Paket yang dikirimkan setelah jendela waktu ini akan dibatalkan.
JWT harus dikirimkan hanya sekali. Jika terjadi kesalahan saat pengiriman, pengambilan gambar biometrik baru harus dilakukan — jangan gunakan kembali JWT yang sama.
Panduan pengujian
Menjalankan SDK di mesin virtual atau emulator memicu kode kesalahan keamanan (73006, 73600, 73400). Selalu uji pada perangkat fisik untuk menghindari kesalahan identifikasi dan pengerjaan ulang yang tidak perlu.
Web SDK mendeteksi DevTools yang terbuka sebagai sinyal potensi penipuan dan membatalkan pengiriman. Tutup DevTools sebelum menjalankan pengujian pengambilan gambar end-to-end.
Lakukan pengujian di lingkungan staging Unico
Sebelum beralih ke produksi, lakukan pengujian menyeluruh di lingkungan staging Unico dengan skenario yang realistis. Gunakan API Key dan konfigurasi khusus staging — jangan pernah menggunakan kredensial produksi dalam pengujian.
Lingkungan staging (UAT) IDCloud menerapkan kriteria keamanan yang sama dengan produksi. Panduan di bawah menjelaskan alasannya dan cara menguji tanpa gangguan.
Sebelumnya — mendeteksi, tetapi tidak menolak Kondisi di luar pola penggunaan nyata teridentifikasi, tetapi tidak menghalangi pengambilan.
Sekarang — mendeteksi dan menolak Kondisi yang sama kini menghasilkan penolakan bukti kehidupan, dengan ketatnya yang sama seperti produksi.
Kesetiaan — kemiripan dengan produksi Apa yang lolos di staging harus berfungsi sama di produksi — mencegah integrasi yang disetujui saat pengujian gagal secara tak terduga setelah go-live.
Dengan menguji pada kondisi yang mendekati penggunaan nyata, lapisan keamanan tidak memengaruhi pengembangan Anda.
Perkakas pengembangan yang bukan standar pasar memicu validasi keamanan, dan transaksi dapat diblokir.
| Skenario | Status |
|---|---|
| Alur integrasi lengkap — pengambilan, pengiriman, respons API, dan hasil kembalian | ✅ Boleh |
| Skenario fungsional: UI/UX, performa, error bisnis | ✅ Boleh |
| Perangkat dalam konfigurasi standar pengguna akhir | ✅ Boleh |
| Integrasi dengan backend, API, dan pemrosesan data | ✅ Boleh |
| Perangkat dengan root/jailbreak | ❌ Tidak boleh |
| Mode debug / USB debugging aktif | ❌ Tidak boleh |
| Emulator atau virtualisasi | ❌ Tidak boleh |
| Kamera virtual atau alat otomatisasi pengambilan | ❌ Tidak boleh |
| Alat yang mengubah koneksi | ❌ Tidak boleh |
| MDM korporat atau pemantauan aktif pada perangkat | ❌ Tidak boleh |
| Sandbox dalam container atau mesin virtual | ❌ Tidak boleh |
Kondisi apa pun di atas dapat menghasilkan penolakan bukti kehidupan.
Hubungi tim dukungan untuk panduan tentang konfigurasi lingkungan Anda. Tidak ada pengecualian, pembebasan sesaat, atau pelonggaran sementara — Unico menjaga staging tetap setara dengan produksi selama dianggap perlu.
Panduan khusus platform
Jangan mencoba menjembatani SDK Android atau iOS native di dalam aplikasi Flutter. Bridge native sering menghasilkan kesalahan yang tidak terpetakan. Selalu gunakan plugin Flutter khusus dari Unico.
Saat meningkatkan versi Web SDK, hapus file resource lama dari folder public Anda sebelum memasukkan yang baru. File dengan nama yang sama tidak akan ditimpa secara otomatis dan dapat menyebabkan konflik versi.
Artefak build dari versi SDK sebelumnya dapat menyebabkan kesalahan dependensi setelah pembaruan. Sebelum membangun versi baru:
- Flutter: hapus
pubspec.lockdan jalankanflutter pub get - iOS: jalankan
pod cache clean --alldanpod install - Android: jalankan
./gradlew clean
Kecualikan kode SDK Unico dari konfigurasi obfuskasi Anda. Mengobfuskasi SDK umumnya menyebabkan kegagalan pada build rilis yang tidak muncul pada build debug. Lihat dokumentasi khusus platform untuk aturan keep yang diperlukan.
UX dan performa
Strukturkan alur SDK menjadi dua tahap yang berbeda:
- Persiapan — inisialisasi SDK saat halaman sedang dimuat (sebelum interaksi pengguna).
- Buka — luncurkan kamera hanya ketika pengguna secara eksplisit memicu tindakan tersebut.
Mempersiapkan SDK lebih awal mengurangi latensi yang dirasakan dan meningkatkan pengalaman pengguna secara signifikan.
Peluncuran produksi
Sebelum melakukan deploy ke produksi, verifikasi:
- API Key produksi dan konfigurasi lingkungan sudah benar
- Rencana rollback telah didefinisikan dan diuji
- Protokol pengumpulan log telah tersedia
- Prosedur tiket dukungan telah didokumentasikan untuk menangani kegagalan
- Semua validasi telah lulus di lingkungan staging