Google Code Scanner API, कोड स्कैन करने का पूरा समाधान उपलब्ध कराता है. इसके लिए, आपके ऐप्लिकेशन को कैमरे की अनुमति मांगने की ज़रूरत नहीं होती. साथ ही, यह उपयोगकर्ता की निजता बनाए रखता है. इसके लिए, कोड स्कैन करने का काम Google Play services को सौंपा जाता है. साथ ही, स्कैन किए गए नतीजे सिर्फ़ आपके ऐप्लिकेशन को भेजे जाते हैं (वीडियो 1).
इमेज को प्रोसेस करने की पूरी प्रोसेस, डिवाइस पर ही होती है. Google, न तो नतीजे सेव करता है और न ही इमेज का डेटा. यह एपीआई, ML Kit Barcode Scanning API के कोड फ़ॉर्मैट के साथ काम करता है. साथ ही, यह Barcode ऑब्जेक्ट दिखाता है.
यह एपीआई उन ऐप्लिकेशन के लिए सबसे सही है जिन्हें कस्टम यूज़र इंटरफ़ेस (यूआई) या कैमरे के अनुभव की ज़रूरत के बिना, कोड को आसानी से स्कैन करना होता है. यह सुविधा पूरी तरह से Google Play services में लागू की जाती है. इससे आपके ऐप्लिकेशन के साइज़ पर कम से कम असर पड़ता है.
वर्शन 16.1.0 से, ऑटो-ज़ूम की सुविधा चालू की जा सकती है. इससे Google कोड स्कैनर, कैमरे से दूर मौजूद बारकोड को अपने-आप स्कैन कर पाएगा. जब उपयोगकर्ता अपने डिवाइसों को बारकोड पर पॉइंट करेंगे, तो स्कैनर बारकोड का पता लगाकर उसे ज़ूम इन कर देगा. इससे मैन्युअल तरीके से ज़ूम करने की ज़रूरत नहीं पड़ती. साथ ही, बारकोड को ज़्यादा तेज़ी से, सटीक तरीके से, और आसानी से स्कैन किया जा सकता है (दूसरा वीडियो देखें).
|  |  | 
| वीडियो 1. Google कोड स्कैनर इंटिग्रेशन | वीडियो 2. अपने-आप ज़ूम होने की सुविधा | 
इस्तेमाल के ज़्यादा मुश्किल उदाहरणों के लिए, हमारा सुझाव है कि आप सीधे ML Kit Barcode Scanning API का इस्तेमाल करें. इसके लिए, कस्टम यूज़र इंटरफ़ेस (यूआई) की ज़रूरत होती है.
अगर आपका कोई सवाल है, आपको कोई गड़बड़ी सबमिट करनी है या मदद चाहिए, तो ML Kit के कम्यूनिटी पेज पर जाएं.
शुरू करने से पहले
अपने ऐप्लिकेशन को तैयार करने के लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं.
अपने ऐप्लिकेशन को कॉन्फ़िगर करना
- अपनी टॉप-लेवल - settings.gradleफ़ाइल में,- dependencyResolutionManagementब्लॉक के नीचे Google की Maven रिपॉज़िटरी और Maven Central रिपॉज़िटरी शामिल करें:- dependencyResolutionManagement { repositories { google() mavenCentral() } }
- अपने मॉड्यूल की Gradle बिल्ड फ़ाइल में, - play-services-code-scannerSDK के लिए Google Play services की डिपेंडेंसी जोड़ें. यह फ़ाइल आम तौर पर- app/build.gradleहोती है:- dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
- आपके पास अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर करने का विकल्प होता है कि 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, स्कैनर मॉड्यूल को पहली बार इस्तेमाल करने पर डाउनलोड करता है. 
कोड स्कैन करना
बारकोड स्कैन करने के लिए, यह तरीका अपनाएं.
- ज़रूरी नहीं: कोड स्कैनर को कॉन्फ़िगर करें. - अगर आपको पता है कि आपको किन बारकोड फ़ॉर्मैट को स्कैन करना है, तो बारकोड डिटेक्टर की स्पीड को बेहतर बनाया जा सकता है. इसके लिए, आपको उसे सिर्फ़ उन फ़ॉर्मैट का पता लगाने के लिए कॉन्फ़िगर करना होगा. उदाहरण के लिए, सिर्फ़ ऐज़्टेक कोड और क्यूआर कोड का पता लगाने के लिए, यहां दिए गए उदाहरण की तरह - 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(); 
- कोड के उदाहरण में दिखाए गए तरीके से, - 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); 
- 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 }); 
- नतीजे के तौर पर मिले - Barcodeको हैंडल करें.- Kotlin- val rawValue: String? = barcode.rawValue - Java- String rawValue = barcode.getRawValue(); 
