Google kod tarayıcı API'si, uygulamanızın kamera gizliliğini istemesine gerek kalmadan kodları taramak için eksiksiz bir çözüm sağlarken kullanıcı gizliliğini de korur. Bu işlem, kodun Google Play Hizmetleri'ne taranması ve yalnızca tarama sonuçlarının uygulamanıza döndürülmesi görevinin verilmesiyle gerçekleştirilir. Tüm resim işleme cihazda gerçekleşir ve Google, sonuçları veya görsel verilerini depolamaz. API, ML Kit Barcode Scanning API ile aynı kod biçimlerini destekler ve aynı Barcode nesnesini döndürür.
Bu API, yalnızca bir kod taraması gereken ve özel bir kullanıcı arayüzü veya kamera deneyimi gerektirmeyen uygulamalar için idealdir. Uygulama tamamen Google Play hizmetlerinin içinde yer aldığından, uygulamanızın boyutu üzerinde önemli bir etkisi yoktur. Özel bir kullanıcı arayüzü gerektiren daha karmaşık kullanım alanları için doğrudan ML Kit Barcode Scanning API'yi kullanın.
Sorularınız varsa, hata göndermek istiyorsanız veya yardıma ihtiyacınız varsa ML Kit topluluk sayfasını kontrol edin.
Başlamadan önce
Uygulamanızı hazırlamak için aşağıdaki adımları tamamlayın.
Uygulamanızı yapılandırma
Üst düzey
settings.gradle
dosyanıza Google'ın Maven deposu ve Maven merkezi deposunudependencyResolutionManagement
bloğunun altına ekleyin:dependencyResolutionManagement { repositories { google() mavenCentral() } }
play-services-code-scanner
SDK'sının Google Play Hizmetleri bağımlılığını modülünüzün Gradle derleme dosyasına (genellikleapp/build.gradle
) ekleyin:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.0.0-beta3' }
Uygulamanızı, Play Store'dan yüklenen Google Play Hizmetleri'nin tarayıcı modülünü cihaza otomatik olarak indireceği şekilde yapılandırabilirsiniz.
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
Ayrıca, tarayıcı modülünün kullanılabilirliğini açık bir şekilde kontrol edebilir ve Google Play hizmetleri ModuleInstallClient API aracılığıyla indirme isteğinde bulunabilirsiniz.
Yükleme sırasında modül indirme özelliğini etkinleştirmez veya açık bir şekilde indirme isteğinde bulunmazsanız Google Play Hizmetleri, daha önce başka bir kullanım alanı için yüklenmediyse tarayıcı modülünü ilk kez kullanıldığında indirir.
Kod tarama
1. (İsteğe bağlı) Kod tarayıcıyı yapılandırma
Okumak istediğiniz barkod biçimlerini biliyorsanız barkod dedektörünün hızını, yalnızca bu biçimleri algılayacak şekilde yapılandırarak artırabilirsiniz. Örneğin, yalnızca Aztek kodunu ve QR kodlarını algılamak için aşağıdaki örnekte olduğu gibi bir GmsBarcodeScannerOptions nesnesi oluşturun:
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. GmsBarcodeScanner örneğini alın
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. startScan() yöntemini çağırarak kod tarama isteğinde bulunma
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. Sonuçta ortaya çıkan barkod'u yönetin
Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();