Google Code Scanner API menyediakan solusi lengkap untuk memindai kode tanpa mengharuskan aplikasi Anda meminta izin kamera, sekaligus menjaga privasi pengguna. Hal ini dilakukan dengan mendelegasikan tugas pemindaian kode ke layanan Google Play dan hanya menampilkan hasil pemindaian ke aplikasi Anda (Video 1).
Semua pemrosesan gambar terjadi di perangkat dan Google tidak menyimpan hasil atau data gambar. API ini mendukung format kode yang sama dengan
Barcode Scanning API ML Kit dan menampilkan
objek Barcode
yang sama.
API ini ideal untuk aplikasi yang memerlukan pemindaian kode yang lancar tanpa memerlukan UI atau pengalaman kamera kustom. Implementasi sepenuhnya berada dalam layanan Google Play, sehingga memastikan dampak minimal pada ukuran aplikasi Anda.
Mulai versi 16.1.0, Anda dapat mengaktifkan zoom otomatis untuk memungkinkan pemindai kode Google memindai kode batang yang jauh dari kamera secara otomatis. Saat pengguna mengarahkan perangkat mereka ke kode batang, pemindai akan mendeteksi dan memperbesar kode batang secara cerdas. Hal ini menghilangkan kebutuhan untuk penyesuaian zoom manual, sehingga pemindaian kode batang menjadi lebih cepat, akurat, dan mudah diakses (lihat Video 2).
![]() |
![]() |
Video 1. Integrasi pemindai kode Google | Video 2. Efek zoom otomatis |
Untuk kasus penggunaan yang lebih kompleks yang memerlukan UI kustom, sebaiknya gunakan ML Kit Barcode Scanning API secara langsung.
Jika ada pertanyaan, ingin mengirimkan bug, atau memerlukan bantuan, buka 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 bagian blokdependencyResolutionManagement
:dependencyResolutionManagement { repositories { google() mavenCentral() } }
Tambahkan dependensi layanan Google Play untuk
play-services-code-scanner
SDK ke file build Gradle modul Anda, yang biasanya adalahapp/build.gradle
:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
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 saat penginstalan atau meminta download eksplisit—dan modul pemindai belum diinstal untuk kasus penggunaan lain—layanan Google Play akan mendownload modul pemindai saat pertama kali digunakan.
Memindai kode
Terapkan langkah-langkah berikut untuk memindai kode batang.
Opsional: Konfigurasi 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 hanya mendeteksi kode Aztec dan QR, 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();
Secara default, zoom otomatis dinonaktifkan. Untuk mengaktifkan fungsi zoom otomatis mulai dari versi 16.1.0, panggil
enableAutoZoom()
seperti yang ditunjukkan dalam contoh kode berikut.Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build();
Dapatkan instance
GmsBarcodeScanner
, seperti yang ditunjukkan dalam contoh kode: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);
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 });
Tangani
Barcode
yang dihasilkan.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();