Google kod tarayıcı (yalnızca Android)

Google kod tarayıcı API'si, kod tarama işlemi için eksiksiz bir çözüm sunar. uygulamanızın kamera izni istemesini gerektirmeden kullanıcıyı korurken gizlilik. Bu, kod tarama görevi için ve uygulamanıza yalnızca tarama sonuçlarını döndürme (Video 1). Tüm resim işleme işlemleri cihazda gerçekleşir ve Google, sonuçları depolamaz. veya görüntü verileri. API, API ile aynı kod biçimlerini destekler ML Kit Barcode Scanning API'yi yükler ve aynı Barcode nesnesini tanımlayın.

Bu API, ihtiyaç duymadan sorunsuz kod taraması gerektiren uygulamalar için idealdir kullanıcı arayüzü ve kamera deneyimi için kullanabilirsiniz. Uygulama tamamen Uygulamanızın boyutu üzerindeki etkisini asgari düzeyde olan Google Play Hizmetleri.

16.1.0 sürümünden itibaren, Google koduna izin vermek için otomatik yakınlaştırmayı etkinleştirebilirsiniz kameradan uzakta olan barkodları otomatik olarak taramak için bir tarayıcı kullanın. Zaman Kullanıcılar cihazlarını bir barkoda doğrulttuysa, tarayıcı akıllı bir şekilde algılayarak ve barkodu yakınlaştırın. Bu, manuel yakınlaştırma ihtiyacını ortadan kaldırır Barkod taramasını daha hızlı, daha doğru ve daha erişilebilir hale getiren ayarlamalar (2. videoya bakın).

1. video Google kod tarayıcı entegrasyonu 2. video Otomatik yakınlaştırma efekti

Özel bir kullanıcı arayüzü gerektiren daha karmaşık kullanım alanları için ML Kit Barcode Scanning API ile doğrudan iletişime geçin.

Sorularınız varsa, hata bildirmek istiyorsanız veya yardıma ihtiyacınız varsa ML Kiti topluluk sayfası.

Başlamadan önce

Uygulamanızı hazırlamak için aşağıdaki bölümlerde yer alan adımları tamamlayın.

Uygulamanızı yapılandırma

  1. Üst düzey settings.gradle dosyanıza, Google'ın Maven deposu ve Maven merkez deposu, dependencyResolutionManagement blok:

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

    dependencies {
      implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
    }
    
  3. Uygulamanızı, Google Play Hizmetleri'ni otomatik olarak içerecek şekilde yapılandırabilirsiniz Uygulamanız yüklenirken tarayıcı modülünü cihaza indirin. Play Store'da bulabilirsiniz.

    <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ça kontrol edebilir ve Google Play hizmetleri ModuleLoadClient üzerinden indirme API.

    Yükleme süresi modülü indirmelerini etkinleştirmezseniz veya müstehcen içerik isteğinde bulunmazsanız ve tarayıcı modülü başka bir cihaz için daha önce yüklenmediyse kullanım alanı: Google Play Hizmetleri ilk olarak tarayıcı modülünü indirir bir değişiklik gösterebilir.

Kod tara

Barkod taramak için aşağıdaki adımları uygulayın.

  1. İsteğe bağlı: Kod tarayıcıyı yapılandırın.

    Hangi barkod biçimlerini okumayı beklediğinizi biliyorsanız, hızını algılayacak şekilde yapılandırarak (barkod dedektörünü, yalnızca bunları algılayacak şekilde yapılandırarak) biçimlerinden biridir. Örneğin, yalnızca Aztek kodunu ve QR kodlarını tespit etmek için bir GmsBarcodeScannerOptions nesnesini tanımlayın:

    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();
    

    Otomatik yakınlaştırma varsayılan olarak devre dışıdır. Otomatik yakınlaştırma işlevini etkinleştirmek için enableAutoZoom() kodunu aşağıdaki kod örneğini inceleyebilirsiniz.

    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();
    
  2. GmsBarcodeScanner öğesinin bir örneğini alın, kodu örneğinde gösterildiği gibi:

    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() numaralı telefonu arayarak bir kod taraması isteğinde bulunun.

    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 Barcode işlemini işleyin.

    Kotlin

    val rawValue: String? = barcode.rawValue
    

    Java

    String rawValue = barcode.getRawValue();