Google kod tarayıcı API'si, uygulamanızın kamera izni istemesine gerek kalmadan kod tarama için eksiksiz bir çözüm sunarken kullanıcı gizliliğini de korur. Bu, kodu tarama görevini Google Play Hizmetleri'ne devrederek ve yalnızca tarama sonuçlarını uygulamanıza döndürerek gerçekleştirilir (Video 1).
Tüm görüntü işleme işlemleri cihazda gerçekleşir ve Google, sonuçları veya görüntü verilerini saklamaz. API, ML Kit Barcode Scanning API ile aynı kod biçimlerini destekler ve aynı Barcode nesnesini döndürür.
Bu API, özel bir kullanıcı arayüzü veya kamera deneyimi gerektirmeden sorunsuz kod tarama işlemi yapması gereken uygulamalar için idealdir. Uygulama tamamen Google Play Hizmetleri'nde yer aldığından uygulamanızın boyutu üzerinde minimum etki sağlar.
16.1.0 sürümünden itibaren, Google kod tarayıcının kameradan uzaktaki barkodları otomatik olarak taramasına olanak tanımak için otomatik yakınlaştırmayı etkinleştirebilirsiniz. Kullanıcılar cihazlarını bir barkoda doğrulttuğunda tarayıcı, barkodu akıllı bir şekilde algılar ve barkoda yakınlaştırır. Bu sayede, yakınlaştırma ayarlarını manuel olarak yapmanız gerekmez. Böylece barkod tarama işlemi daha hızlı, daha doğru ve daha erişilebilir hale gelir (Video 2'ye bakın).
![]() |
![]() |
| 1. video. Google kod tarayıcı entegrasyonu | Video 2. Otomatik yakınlaştırma efekti |
Özel bir kullanıcı arayüzü gerektiren daha karmaşık kullanım alanları için doğrudan ML Kit Barcode Scanning API'yi kullanmanızı öneririz.
Sorularınız varsa, hata bildirmek istiyorsanız veya yardıma ihtiyacınız varsa ML Kit topluluk sayfasını inceleyin.
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
Üst düzey
settings.gradledosyanızda,dependencyResolutionManagementbloğunun altına Google'ın Maven deposunu ve Maven merkezi deposunu ekleyin:dependencyResolutionManagement { repositories { google() mavenCentral() } }play-services-code-scannerSDK'sı için 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.1.0' }Uygulamanızı, Google Play Store'dan yüklenirken 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ça kontrol edebilir ve Google Play Hizmetleri ModuleInstallClient API aracılığıyla indirme isteğinde bulunabilirsiniz.
Yükleme sırasında modül indirmelerini etkinleştirmez veya açıkça indirme isteğinde bulunmazsanız ve tarayıcı modülü başka bir kullanım alanı için henüz yüklenmemişse Google Play Hizmetleri, tarayıcı modülünü ilk kullanıldığında indirir.
Kod tarama
Barkod taramak için aşağıdaki adımları uygulayın.
İsteğe bağlı: Kod tarayıcıyı yapılandırın.
Okunmasını beklediğiniz barkod biçimlerini biliyorsanız barkod algılayıcıyı yalnızca bu biçimleri algılayacak şekilde yapılandırarak algılayıcının hızını artırabilirsiniz. Örneğin, yalnızca Aztek kodunu ve QR kodlarını algılamak için aşağıdaki örnekte olduğu gibi bir
GmsBarcodeScannerOptionsnesnesi 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();
Otomatik yakınlaştırma varsayılan olarak devre dışıdır. 16.1.0 sürümünden itibaren otomatik yakınlaştırma işlevini etkinleştirmek için aşağıdaki kod örneğinde gösterildiği gibi
enableAutoZoom()yöntemini çağırın.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();
Kod örneğinde gösterildiği gibi
GmsBarcodeScannerörneği 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);
startScan()yöntemini çağırarak kod tarama 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 });
Sonuçta ortaya çıkan
Barcodeöğesini işleyin.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();

