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

Google कोड स्कैनर एपीआई, आपके ऐप्लिकेशन को उपयोगकर्ता की निजता बनाए रखते हुए, कैमरा ऐक्सेस करने की अनुमति के बिना ही, कोड स्कैन करने की सुविधा देता है. ऐसा करने के लिए, कोड को स्कैन करने का काम Google Play services को दिया जाता है और आपके ऐप्लिकेशन को सिर्फ़ स्कैन के नतीजे दिखते हैं (पहला वीडियो). सभी इमेज प्रोसेसिंग डिवाइस पर होती है और Google नतीजों या इमेज के डेटा को सेव नहीं करता. एपीआई, ML Kit Barcode Scanning API जैसे कोड फ़ॉर्मैट के साथ काम करता है और एक ही 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. आपके पास अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर करने का विकल्प होता है कि Google Play services, Play Store से ऐप्लिकेशन इंस्टॉल होने के दौरान आपके डिवाइस पर स्कैनर मॉड्यूल को अपने-आप डाउनलोड करें.

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

    स्कैनर मॉड्यूल की उपलब्धता के बारे में साफ़ तौर पर देखा जा सकता है. साथ ही, Google Play services ModuleInstallClient API की मदद से, डाउनलोड करने का अनुरोध किया जा सकता है.

    अगर इंस्टॉल के समय मॉड्यूल डाउनलोड करने की सुविधा चालू नहीं की जाती है या अश्लील डाउनलोड का अनुरोध नहीं किया जाता है और स्कैनर मॉड्यूल को किसी अन्य इस्तेमाल के लिए पहले से इंस्टॉल नहीं किया गया है, तो 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();