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 Central रिपॉज़िटरी को 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();