Google kod tarayıcı (Beta)

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

  1. Üst düzey settings.gradle dosyanıza Google'ın Maven deposu ve Maven merkezi deposunu dependencyResolutionManagement bloğunun altına ekleyin:

    dependencyResolutionManagement {
      repositories {
        google()
        mavenCentral()
      }
    }
    
  2. play-services-code-scanner SDK'sının Google Play Hizmetleri bağımlılığını modülünüzün Gradle derleme dosyasına (genellikle app/build.gradle) ekleyin:

    dependencies {
      implementation 'com.google.android.gms:play-services-code-scanner:16.0.0-beta3'
    }
    
  3. 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();