API pemindai kode Google memberikan solusi lengkap untuk memindai kode tanpa mengharuskan aplikasi meminta izin kamera, sekaligus menjaga privasi pengguna. Hal ini dilakukan dengan mendelegasikan tugas memindai kode ke layanan Google Play dan hanya menampilkan hasil pemindaian ke aplikasi Anda. Semua pemrosesan gambar terjadi di perangkat dan Google tidak menyimpan hasil atau data gambar. API mendukung format kode yang sama seperti ML Kit Barcode Scanning API dan menampilkan objek Barcode yang sama.
API ini ideal untuk aplikasi yang hanya perlu memindai kode dan tidak memerlukan pengalaman kamera atau UI kustom. Implementasi ini sepenuhnya berada dalam layanan Google Play, sehingga tidak ada dampak signifikan terhadap ukuran aplikasi Anda. Untuk kasus penggunaan yang lebih kompleks yang memerlukan UI kustom, gunakan ML Kit Barcode Scanning API secara langsung.
Jika Anda memiliki pertanyaan, ingin mengirimkan bug atau memerlukan bantuan, lihat halaman komunitas ML Kit.
Sebelum memulai
Untuk mempersiapkan aplikasi Anda, selesaikan langkah-langkah di bagian berikut ini.
Mengonfigurasi aplikasi Anda
Di file
settings.gradle
tingkat atas, sertakan repositori Maven Google dan repositori pusat Maven di blokdependencyResolutionManagement
:dependencyResolutionManagement { repositories { google() mavenCentral() } }
Tambahkan dependensi layanan Google Play untuk SDK
play-services-code-scanner
ke file build Gradle modul, yang biasanyaapp/build.gradle
:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.0.0-beta3' }
Anda dapat mengonfigurasi aplikasi agar layanan Google Play otomatis mendownload modul pemindai ke perangkat saat aplikasi diinstal dari Play Store.
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
Anda juga dapat memeriksa ketersediaan modul pemindai secara eksplisit dan meminta download melalui ModuleInstallClient API layanan Google Play.
Jika Anda tidak mengaktifkan download modul waktu penginstalan atau meminta download eksplisit, layanan Google Play akan mendownload modul pemindai saat pertama kali digunakan, jika belum diinstal untuk kasus penggunaan lain.
Memindai kode
1. (Opsional) Mengonfigurasi pemindai kode
Jika Anda mengetahui format kode batang yang ingin dibaca, Anda dapat meningkatkan kecepatan detektor kode batang dengan mengonfigurasinya untuk mendeteksi format tersebut. Misalnya, untuk mendeteksi kode Aztec dan kode QR saja, buat objek GmsBarcodeScannerOptions seperti pada contoh berikut:
Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build();
2. Mendapatkan instance GmsBarcodeScanner
Kotlin
val scanner = GmsBarcodeScanning.getClient(this) // Or with a configured options // val scanner = GmsBarcodeScanning.getClient(this, options)
Java
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this); // Or with a configured options // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
3. Minta pemindaian kode dengan memanggil startScan()
Kotlin
scanner.startScan() .addOnSuccessListener { barcode -> // Task completed successfully } .addOnCanceledListener { // Task canceled } .addOnFailureListener { e -> // Task failed with an exception }
Java
scanner .startScan() .addOnSuccessListener( barcode -> { // Task completed successfully }) .addOnCanceledListener( () -> { // Task canceled }) .addOnFailureListener( e -> { // Task failed with an exception });
4. Menangani Barcode yang dihasilkan
Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();