Google kod tarayıcı API'si, uygulamanızın kamera izni istemesini gerektirmeden kod tarama için eksiksiz bir çözüm sunarken kullanıcı gizliliğini 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 cihazda gerçekleşir ve Google sonuçları veya görüntü verilerini saklamaz. API, ML Kit Barkod Tarama 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 özelliği sunan uygulamalar için idealdir. Uygulama tamamen Google Play Hizmetleri'nde yer alır ve uygulamanızın boyutu en az düzeyde etkilenir.
16.1.0 sürümünden itibaren, Google kod tarayıcının kameradan uzakta olan barkodları otomatik olarak taramasına izin vermek için otomatik yakınlaştırmayı etkinleştirebilirsiniz. Kullanıcılar cihazlarını bir barkoda yönelttiğinde tarayıcı, barkodu akıllı bir şekilde algılayıp yakınlaştırır. Bu sayede manuel yakınlaştırma ayarlamalarına gerek kalmaz ve barkod tarama işlemi daha hızlı, doğru ve erişilebilir hale gelir (2. videoya 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 ML Kit Barkod Tarama API'yi doğrudan kullanmanızı öneririz.
Sorularınız varsa, hata göndermek 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ümlerdeki adımları tamamlayın.
Uygulamanızı yapılandırma
En üst düzeydeki
settings.gradle
dosyanızda,dependencyResolutionManagement
bloğunun altına Google'ın Maven deposunu ve Maven merkezi deposunu ekleyin:dependencyResolutionManagement { repositories { google() mavenCentral() } }
play-services-code-scanner
SDK'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ı, Play Store'dan yüklenirken Google Play Hizmetleri'nin tarayıcı modülünü cihaza otomatik olarak indirecek ş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 anında modül indirmelerini etkinleştirmezseniz veya açıkça indirme isteğinde bulunmazsanız ve tarayıcı modülü başka bir kullanım alanı için önceden 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.
Hangi barkod biçimlerini okumayı beklediğinizi biliyorsanız barkod algılayıcıyı yalnızca bu biçimleri algılayacak şekilde yapılandırarak hızını artırabilirsiniz. Örneğin, yalnızca Aztec kodu 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();
Otomatik yakınlaştırma varsayılan olarak devre dışıdır. Otomatik yakınlaştırma işlevini 16.1.0 sürümünden itibaren etkinleştirmek için aşağıdaki kod örneğinde gösterildiği gibi
enableAutoZoom()
işlevini ç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
öğesinin bir ö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);
startScan()
numaralı telefonu arayarak 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
işleyin.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();