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 özel bir kullanıcı arayüzü veya kamera deneyimi 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 şekilde, 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çebilirsiniz.
Sorularınız varsa, hata bildirmek istiyorsanız veya yardıma ihtiyacınız varsa ML Kit 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
Üst düzey
settings.gradle
dosyanıza, Google'ın Maven deposu ve Maven merkez deposu,dependencyResolutionManagement
blok:dependencyResolutionManagement { repositories { google() mavenCentral() } }
play-services-code-scanner
için Google Play Hizmetleri bağımlılığını ekleyin Modülünüzün Gradle derleme dosyasına (genellikleapp/build.gradle
olan) SDK'yı ekleyin:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
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 (indirilebilir) ve tarayıcı modülü başka bir cihaz için 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.
İ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ı algılamak 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();
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);
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 });
Sonuçta ortaya çıkan
Barcode
işlemini işleyin.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();