
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:
val options = GmsBarcodeScannerOptions.Builder()
.setBarcodeFormats(
Barcode.FORMAT_QR_CODE,
Barcode.FORMAT_AZTEC)
.build()
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder()
.setBarcodeFormats(
Barcode.FORMAT_QR_CODE,
Barcode.FORMAT_AZTEC)
.build();
2. Mendapatkan instance GmsBarcodeScanner
val scanner = GmsBarcodeScanning.getClient(this)
// Or with a configured options
// val scanner = GmsBarcodeScanning.getClient(this, options)
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this);
// Or with a configured options
// GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
3. Minta pemindaian kode dengan memanggil startScan()
scanner.startScan()
.addOnSuccessListener { barcode ->
// Task completed successfully
}
.addOnCanceledListener {
// Task canceled
}
.addOnFailureListener { e ->
// Task failed with an exception
}
scanner
.startScan()
.addOnSuccessListener(
barcode -> {
// Task completed successfully
})
.addOnCanceledListener(
() -> {
// Task canceled
})
.addOnFailureListener(
e -> {
// Task failed with an exception
});