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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    अगर आपने इंस्टॉल-टाइम मॉड्यूल डाउनलोड की सुविधा चालू नहीं की है या साफ़ तौर पर डाउनलोड का अनुरोध नहीं किया है, तो Google Play की सेवाएं स्कैनर मॉड्यूल को पहली बार इस्तेमाल करने पर डाउनलोड करती हैं. हालांकि, ऐसा तब होता है, जब स्कैनर मॉड्यूल किसी अन्य इस्तेमाल के उदाहरण के लिए पहले से इंस्टॉल न हो.

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

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

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

    अगर आपको पता है कि आपको किन बारकोड फ़ॉर्मैट को पढ़ना है, तो बारकोड डिटेक्टर को सिर्फ़ उन फ़ॉर्मैट का पता लगाने के लिए कॉन्फ़िगर करके, उसकी स्पीड को बेहतर बनाया जा सकता है. उदाहरण के लिए, सिर्फ़ ऐज़्टेक कोड और क्यूआर कोड का पता लगाने के लिए, यहां दिए गए उदाहरण की तरह 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();