Google कोड स्कैनर (सिर्फ़ Android पर)

Google का कोड स्कैनर एपीआई, कोड स्कैन करने से जुड़ी सभी सुविधाएं उपलब्ध कराता है. इसके लिए, आपके ऐप्लिकेशन को कैमरा ऐक्सेस करने की अनुमति मांगने की ज़रूरत नहीं पड़ती. साथ ही, उपयोगकर्ता की निजता को भी सुरक्षित रखा जाता है. ऐसा करने के लिए, Google Play सेवाओं को कोड स्कैन करने का काम सौंप दिया जाता है और आपके ऐप्लिकेशन को सिर्फ़ स्कैन के नतीजे दिखाए जाते हैं (वीडियो 1). सभी इमेज प्रोसेसिंग, डिवाइस पर ही होती है और Google नतीजों या इमेज डेटा को सेव नहीं करता है. यह एपीआई उन कोड फ़ॉर्मैट के साथ काम करता है जो एमएल किट बारकोड स्कैनिंग एपीआई के लिए इस्तेमाल किए जाते हैं और वही Barcode ऑब्जेक्ट दिखाता है.

यह एपीआई उन ऐप्लिकेशन के लिए बहुत अच्छा है जिन्हें कस्टम यूआई या कैमरा अनुभव के बिना, आसानी से कोड स्कैन करने की ज़रूरत होती है. यह बदलाव पूरी तरह Google Play services के अंदर होता है. इससे आपके ऐप्लिकेशन के साइज़ पर कम से कम असर पड़ता है.

16.1.0 और इसके बाद के वर्शन में, अपने-आप ज़ूम होने की सुविधा चालू की जा सकती है. इससे Google कोड स्कैनर, कैमरे से दूर मौजूद बारकोड को अपने-आप स्कैन कर सकेगा. जब उपयोगकर्ता अपने डिवाइस को बारकोड पर फ़ोकस करते हैं, तब स्कैनर बेहतर तरीके से बारकोड का पता लगाकर उस पर ज़ूम इन करता है. इससे मैन्युअल ज़ूम अडजस्टमेंट की ज़रूरत नहीं पड़ती. इससे बारकोड स्कैन ज़्यादा तेज़, ज़्यादा सटीक, और ज़्यादा आसानी से ऐक्सेस हो जाता है (वीडियो 2 देखें).

वीडियो 1. Google कोड स्कैनर इंटिग्रेशन वीडियो 2. अपने-आप ज़ूम होने की सुविधा इफ़ेक्ट

अगर ज़रूरत के हिसाब से कस्टम यूज़र इंटरफ़ेस (यूआई) इस्तेमाल करना ज़रूरी हो, तो हमारा सुझाव है कि आप सीधे एमएल किट बारकोड स्कैनिंग एपीआई का इस्तेमाल करें.

अगर आपका कोई सवाल है, गड़बड़ी की शिकायत करनी है या मदद चाहिए, तो ML Kit कम्यूनिटी पेज पर जाएं.

शुरू करने से पहले

अपना ऐप्लिकेशन तैयार करने के लिए, नीचे दिए गए सेक्शन में दिए गए चरणों को पूरा करें.

अपने ऐप्लिकेशन को कॉन्फ़िगर करें

  1. अपनी टॉप-लेवल settings.gradle फ़ाइल में, dependencyResolutionManagement ब्लॉक के तहत Google की Maven रिपॉज़िटरी और Maven सेंट्रल रिपॉज़िटरी शामिल करें:

    dependencyResolutionManagement {
      repositories {
        google()
        mavenCentral()
      }
    }
    
  2. अपने मॉड्यूल की Gradle बिल्ड फ़ाइल में, play-services-code-scanner SDK टूल के लिए, Google Play services डिपेंडेंसी जोड़ें. यह आम तौर पर app/build.gradle होती है:

    dependencies {
      implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
    }
    
  3. अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर किया जा सकता है कि Play Store से ऐप्लिकेशन इंस्टॉल होने के दौरान, Google Play services, डिवाइस पर स्कैनर मॉड्यूल को अपने-आप डाउनलोड करे.

    <application ...>
      ...
      <meta-data
          android:name="com.google.mlkit.vision.DEPENDENCIES"
          android:value="barcode_ui"/>
      ...
    </application>
    

    स्कैनर के मॉड्यूल की उपलब्धता की जांच भी की जा सकती है. साथ ही, Google Play services मॉड्यूलइंस्टॉलक्लाइंट एपीआई की मदद से, मॉड्यूल को डाउनलोड करने का अनुरोध भी किया जा सकता है.

    अगर इंस्टॉल के समय मॉड्यूल डाउनलोड करने या अश्लील डाउनलोड का अनुरोध करने की सुविधा चालू नहीं की गई है और स्कैनर को किसी दूसरे इस्तेमाल के लिए पहले से इंस्टॉल नहीं किया गया है, तो Google Play services, स्कैनर को पहली बार इस्तेमाल करने पर इसे डाउनलोड कर देती है.

कोड स्कैन करें

बारकोड स्कैन करने के लिए नीचे दिया गया तरीका अपनाएं.

  1. ज़रूरी नहीं: कोड स्कैनर कॉन्फ़िगर करें.

    अगर आपको पता है कि आपको बारकोड के किन फ़ॉर्मैट को पढ़ना है, तो बारकोड डिटेक्टर को सिर्फ़ उन फ़ॉर्मैट का पता लगाने के लिए कॉन्फ़िगर करके, उसकी रफ़्तार को बेहतर बनाया जा सकता है. उदाहरण के लिए, सिर्फ़ Aztec कोड और क्यूआर कोड का पता लगाने के लिए, नीचे दिए गए उदाहरण की तरह से GmsBarcodeScannerOptions ऑब्जेक्ट बनाएं:

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

    अपने-आप ज़ूम होने की सुविधा डिफ़ॉल्ट रूप से बंद होती है. वर्शन 16.1.0 से अपने-आप ज़ूम होने की सुविधा चालू करने के लिए, enableAutoZoom() को कॉल करें, जैसा कि नीचे दिए गए कोड के उदाहरण में दिखाया गया है.

    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 का एक इंस्टेंस पाएं, जैसा कि कोड के उदाहरण में दिखाया गया है:

    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() पर कॉल करके, कोड स्कैन करने का अनुरोध करें.

    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. मिलने वाले Barcode को हैंडल करें.

    Kotlin

    val rawValue: String? = barcode.rawValue
    

    Java

    String rawValue = barcode.getRawValue();