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 doğrudan ML Kit Barkod Tarama API'sini 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.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 (genellikle- app/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'si 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 - 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. 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 taraması isteyin.- 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(); 
