Langsung ke konten utama
Versi-versi ini mengacu pada SDK verifikasi identitas. Modul dan wrapper Autentikasi native memiliki rilis terpisah: lihat Panduan Cepat Autentikasi.
Integrasikan verifikasi Didit secara native ke dalam aplikasi seluler Anda dengan SDK resmi kami. SDK native memberikan pengalaman pengguna yang mulus, performa yang lebih baik, dan akses penuh ke kemampuan perangkat dibandingkan integrasi berbasis WebView.

Pendekatan yang Direkomendasikan: Untuk pengalaman pengguna terbaik, gunakan SDK native kami alih-alih integrasi WebView. SDK native menangani seluruh kompleksitas izin kamera, pembacaan NFC, dan Deteksi Liveness tanpa konfigurasi tambahan.


Ketersediaan SDK

Persetujuan biometrik memerlukan SDK native 4.10.0 atau yang lebih baru. Untuk orang yang tunduk pada undang-undang Illinois, Texas, atau Colorado, Didit dapat meminta persetujuan biometrik yang eksplisit sebelum pengambilan wajah pertama. Alur yang di-hosting (Web SDK, WebView, browser) serta SDK native iOS dan Android 4.10.0 atau yang lebih baru menampilkan langkah tersebut. React Native dan Flutter menampilkannya pada rilis yang menggunakan native 4.10.0 atau yang lebih baru. SDK native di bawah 4.10.0, atau yang tidak melaporkan versinya, tidak dapat melakukannya: sesinya berjalan seperti biasa, dan laporan keputusan menunjukkan biometric_consent.status: "pending" dengan reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Tingkatkan versi jika Anda memverifikasi orang di negara bagian tersebut.

Yang baru di 4.13.2

Di iOS, permintaan foto dari kamera yang terbuka tetapi tidak mengirimkan frame tidak lagi membuat aplikasi Anda crash: setiap permintaan foto terlebih dahulu memeriksa sesi kamera yang sedang berjalan dengan koneksi video aktif, dan layar menampilkan error kamera atau opsi lewati sebagai gantinya. Di Android, pada selfie di pencarian ID, permintaan foto dari kamera yang tidak mengirimkan frame berakhir dengan error kamera di layar setelah 5 detik, alih-alih menunggu tanpa batas. Di layar selamat datang, selagi daftar langkah masih berlanjut di bawah efek pudar bagian bawahnya, tombol Gulir ke bawah berbentuk bulat berada di tengah daftar secara horizontal (juga pada bahasa yang ditulis dari kanan ke kiri), seperti pada alur web; ketukan akan menggulir daftar ke bawah, dan tombol menghilang di akhir daftar serta saat lembar sedang terbuka. Android 4.13.1 adalah rilis sementara yang hanya memiliki tombol Gulir ke bawah; 4.13.2 membawanya ke iOS, React Native, dan Flutter. React Native 4.13.2 juga memperbaiki crash saat peluncuran di build rilis Android yang diperkecil dengan R8 dan proguard-android-optimize.txt: paket kini menyertakan aturan R8 sendiri. Flutter 4.13.2 juga dibangun dengan Android Gradle Plugin 9 dan Kotlin bawaannya.

Yang baru di 4.13.0

Di langkah telepon, setiap nomor +1 (AS dan Kanada) menampilkan pengungkapan singkat dari operator di bawah Kirim kode (“Tarif pesan dan data standar mungkin berlaku”) dengan tautan ke Ketentuan SMS dan Kebijakan Privasi, dalam bahasa orang tersebut. Lingkaran selfie kini pas di atas kontrolnya pada layar pendek, dan pil Selesai berwarna hijau, tombol Mengerti setelah foto dokumen, serta layar Selfie diambil dihapus: foto yang diambil langsung menuju Pemrosesan. Ketika pengambilan dokumen hanya menjadi cadangan dan dompet ID digital berada di depan, layar peluncuran dompet hanya menawarkan dompet itu saja, dan percobaan ulang dompet menjaga verifikasi tetap terbuka tanpa tautan dokumen. Bendera digambar untuk setiap kode negara yang dapat dikirim Didit, dan tidak pernah yang salah. Skenario sandbox yang diaktifkan pada sesi yang sudah dimulai kini menampilkan alasannya, bukan error generik. Di Android, dompet Credential Manager bertuliskan “Verifikasi dengan ID digital”, karena Google Wallet atau dompet Android lain yang memegang ID yang kompatibel dapat menjawabnya. iOS tidak menawarkan metode ini.

Yang baru di 4.12.2

Layar selamat datang memusatkan logo di atas judul rata kiri, dan iOS menampilkan logo pelanggan setinggi 72 pt, seperti Android dan web. Pada langkah orang kunci KYB, Tambah perwakilan terbuka dengan peran perwakilan terpilih, dan menyimpan orang tersebut di bawah perwakilan meskipun alur kerja menonaktifkan sebagian peran. Pada kuesioner, “Diamankan oleh” tetap menempel di bawah tombol pada layar pendek dan pada ukuran teks besar, pemilih negara pada pertanyaan alamat diberi judul untuk alamat, dan dropdown yang terbuka mengikuti sudut kolom.

Yang baru di 4.12.1

Pada iPhone yang penyimpanannya penuh, pengambilan dokumen dan selfie kini tetap menyimpan videonya: SDK iOS merekamnya di memori, dan tidak pernah mengunggah rekaman tanpa frame video. Jawaban server yang tertinggal dari jawaban awal tidak lagi membuka kembali langkah yang baru saja dijawab (langkah NFC, selfie, atau dokumen), di iOS dan Android.

Yang baru di 4.12.0

Logo dompet untuk setiap dompet ID digital yang ditampilkan alur web (Mobile-ID, ConnectID, Finnish Trust Network, OneID, Bank iD, MojeID, FranceConnect, Auðkenni, ID kartu Estonia, dan GOV.UK Wallet), pada pelat putih atau hitam yang sama dengan web. Petunjuk pengambilan menjelaskan apa yang harus dilakukan saat pengambilan otomatis tidak berjalan, layar selamat datang mempertahankan kalimat hukumnya tetap tersemat pada ukuran teks besar, dan permintaan mulai sesi yang ditolak tidak lagi menawarkan percobaan ulang yang tidak dapat berhasil. Kamera dokumen dan selfie memiliki tombol Ganti kamera di samping rana, dengan Unggah dipindahkan ke Petunjuk, dan tidak ada yang diambil otomatis saat lembar terbuka di atas kamera. Di Android, lembar Pilih kamera memberi nama kamera “Kamera depan” dan “Kamera belakang” dalam setiap bahasa.

Yang baru di 4.11.0

Versi 4.11.0 juga memuat semua yang direncanakan untuk 4.10.0, yang tidak pernah dirilis, jadi langsung tingkatkan dari 4.9.1. Alur memiliki kerangka baru dengan bilah atas yang baru, progres dalam bentuk kata, dan layar selamat datang yang dibangun ulang. Pengambilan dokumen dan selfie otomatis kini tersedia di setiap varian, dengan detektor ringan milik Didit sendiri, sehingga varian Core dan AutoDetection mengambil gambar dengan cara yang sama. Varian AutoDetection dan artefak Android didit-sdk-autodetection sudah tidak digunakan lagi dan identik dengan Core, sedangkan artefak Android didit-sdk-autodetection-play tidak lagi dipublikasikan. Langkah baru: Verifikasi bank, Lokasi (opsional melalui varian iOS Core-Location, NFC-Location, dan All-Location), tanda tangan elektronik, dan persetujuan biometrik.

Yang baru di 4.9.1

Pemilih negara untuk dokumen dan bukti alamat kini terbuka dengan negara yang terdeteksi dari alamat IP pengguna di iOS dan Android, meskipun pencarian tersebut selesai setelah layar muncul. Negara yang sudah diatur dalam sesi atau yang dipilih pengguna tidak pernah ditimpa. Di Android, judul bagian dan kolom kuesioner ditampilkan dalam bahasa SDK, dan pemindaian paspor NFC tidak lagi mengalami crash pada varian penuh. Teks verifikasi dalam bahasa Rusia dan Kyrgyz ditingkatkan di kedua platform.

Yang baru di 4.9.0

Semua SDK mobile native dan lintas platform kini menawarkan pemilih bahasa opsional di layar selamat datang verifikasi. Atur showLanguageSelector ke true untuk menampilkan pemilih ringkas dan dapat dicari yang sama dengan yang digunakan di alur verifikasi web. Pemilih ini disembunyikan secara default, sehingga integrasi yang ada tetap mempertahankan perilaku saat ini sampai Anda mengaktifkannya.

Alternatif: Jika SDK native belum tersedia untuk platform Anda, Anda dapat menggunakan Integrasi WebView sebagai alternatif.


Alur sesi verifikasi

Setiap SDK native menggunakan sesi verifikasi Didit yang sama. Alurnya sebagai berikut:
  1. Backend Anda memanggil POST /v3/session/ dengan workflow_id beserta konteks opsional apa pun (vendor_data, contact_details, expected_details, metadata, callback).
  2. Didit mengembalikan session_id, session_token berumur pendek, dan url yang di-hosting.
  3. Aplikasi seluler Anda menerima session_token dari backend Anda dan meneruskannya ke SDK (startVerification(token: …)).
  4. SDK native membuka antarmuka verifikasi, pengguna menyelesaikan langkah-langkahnya, lalu SDK mengembalikan hasil beserta status akhir sesi (Approved, Declined, In Review, dan lainnya).
  5. Backend Anda menerima keputusan lengkap melalui webhook (webhook_type: "status.updated") dan menyimpannya.
Hasil SDK memberi tahu Anda hasil alur kerja (status). Keputusan lengkap, yaitu kolom dokumen, skor pencocokan wajah, temuan AML, data NFC, dan peringatan, dikirim ke server Anda melalui webhook dan juga dapat diambil dari endpoint Ambil Keputusan Sesi. Jangan pernah hanya mengandalkan hasil di sisi klien untuk keputusan otorisasi.
Semua SDK native juga mendukung mode UniLink (hanya ID alur kerja, tanpa backend). Gunakan UniLink untuk prototipe cepat dan metode token sesi untuk produksi.

SDK iOS

Kapan digunakan: aplikasi native Swift / SwiftUI / UIKit yang menargetkan iOS 13+. SDK iOS ringan berbasis server untuk verifikasi identitas dengan konfigurasi minimal.

Repositori GitHub

Lihat kode sumber dan contoh di GitHub
Fitur Utama:
  • Dukungan SwiftUI dan UIKit
  • Pembacaan paspor/ID NFC (iOS 15+; varian Core dan AutoDetection tanpa NFC menghapus NFC dan OpenSSL, dan dapat di-deploy ke iOS 13+)
  • Mendukung 54 bahasa
  • Tema UI yang dapat disesuaikan
  • Integrasi dengan token sesi atau ID alur kerja
Mulai Cepat:
→ Dokumentasi Lengkap SDK iOS

SDK Android

Kapan digunakan: aplikasi native Kotlin / Jetpack Compose / Java yang menargetkan Android 6.0 (API 23) atau yang lebih tinggi. SDK Android ringan berbasis server untuk verifikasi identitas dengan konfigurasi minimal.

Repositori GitHub

Lihat kode sumber dan contoh di GitHub
Fitur Utama:
  • Dukungan Kotlin dan Jetpack Compose
  • Pembacaan paspor/ID NFC (artefak me.didit:didit-sdk-core yang bersifat opt-in menghapus dependensi NFC)
  • Deteksi otomatis dokumen dan wajah berbasis ML pada API 24+ (fallback ke pengambilan manual yang lancar pada API 23)
  • Mendukung 54 bahasa
  • Tema UI yang dapat disesuaikan
  • Integrasi dengan token sesi atau ID alur kerja
Mulai Cepat:
→ Dokumentasi Lengkap SDK Android

SDK React Native

Kapan digunakan: aplikasi React Native atau Expo lintas platform yang membutuhkan satu API TypeScript untuk iOS dan Android (RN 0.76+, New Architecture). SDK React Native lintas platform yang membungkus SDK native iOS dan Android dengan API TypeScript yang terpadu.

Repositori GitHub

Lihat kode sumber dan contoh di GitHub
Fitur Utama:
  • Satu API TypeScript untuk iOS dan Android
  • Dukungan Expo dengan config plugin tanpa konfigurasi tambahan (wajib development build, tidak mendukung Expo Go)
  • Dukungan React Native CLI
  • Pembacaan paspor/ID NFC (dapat dinonaktifkan dengan DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • Mendukung 54 bahasa (diwarisi dari SDK native)
  • Integrasi dengan token sesi atau ID alur kerja
Mulai Cepat:
→ Dokumentasi Lengkap SDK React Native

SDK Flutter

Kapan digunakan: aplikasi Flutter lintas platform yang membutuhkan satu API Dart untuk iOS dan Android (Flutter 3.3+, Dart 3.11+). SDK Flutter lintas platform yang membungkus SDK native iOS dan Android dengan API Dart yang terpadu.

Paket pub.dev

Lihat paket di pub.dev
Fitur Utama:
  • Satu API Dart untuk iOS dan Android
  • Integrasi platform channel dengan SDK native
  • Pembacaan paspor/ID NFC (dapat dinonaktifkan dengan DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • Mendukung 54 bahasa (diwarisi dari SDK native)
  • Integrasi dengan token sesi atau ID alur kerja
Mulai Cepat:
→ Dokumentasi Lengkap SDK Flutter

SDK Web (JavaScript)

Kapan digunakan: aplikasi berbasis browser dan framework web (React, Vue, Angular, Next.js, Nuxt, Svelte, JavaScript murni). SDK Web membuka alur verifikasi yang di-hosting dalam modal atau iframe inline. Untuk aplikasi seluler, gunakan SDK native di atas. SDK JavaScript untuk aplikasi web dengan dukungan React, Vue, Angular, Next.js, Nuxt, Svelte, dan JavaScript murni.

Paket NPM

Lihat paket di npm
Fitur Utama:
  • Manajemen sesi dan callback untuk event secara terprogram
  • Dukungan React, Vue, Angular, Next.js, Nuxt, Svelte, dan JavaScript murni
  • Dukungan TypeScript penuh
  • Mode modal dan inline (tertanam)
  • Manajemen state untuk UI kustom
Mulai Cepat:
→ Dokumentasi Lengkap SDK JavaScript | Semua SDK Web

Memilih integrasi

SDK native paling cocok jika Anda membutuhkan pembacaan e-paspor NFC, pengambilan gambar dengan kamera berlatensi terendah, dan pengalaman dalam aplikasi yang tidak dapat dibedakan dari layar native Anda yang lain. Gunakan WebView Integration sebagai alternatif jika Anda tidak dapat merilis pembaruan SDK native (misalnya, aplikasi brownfield yang tidak dapat dibangun ulang, atau platform tanpa SDK native Didit).
Terakhir diubah pada 7 November 2026