Google कोड स्कैनर एपीआई, कोड स्कैन करने का पूरा समाधान उपलब्ध कराता है. इसके लिए, आपके ऐप्लिकेशन को कैमरे की अनुमति का अनुरोध करने की ज़रूरत नहीं होती. साथ ही, यह उपयोगकर्ता की निजता को बनाए रखता है. ऐसा करने के लिए, कोड को स्कैन करने का काम Google Play services को सौंपा जाता है. साथ ही, आपके ऐप्लिकेशन को सिर्फ़ स्कैन के नतीजे दिखाए जाते हैं (वीडियो 1).
इमेज की प्रोसेसिंग पूरी तरह से डिवाइस पर होती है. Google, नतीजों या इमेज के डेटा को सेव नहीं करता. यह एपीआई, ML Kit Barcode Scanning API के जैसे ही कोड फ़ॉर्मैट के साथ काम करता है और एक ही Barcode
ऑब्जेक्ट दिखाता है.
यह एपीआई उन ऐप्लिकेशन के लिए सबसे सही है जिन्हें कस्टम यूज़र इंटरफ़ेस (यूआई) या कैमरे के अनुभव के बिना, आसानी से कोड स्कैन करने की ज़रूरत होती है. यह सुविधा पूरी तरह से Google Play services में काम करती है. इससे आपके ऐप्लिकेशन के साइज़ पर कम से कम असर पड़ता है.
16.1.0 वर्शन से, ऑटो-ज़ूम की सुविधा चालू की जा सकती है. इससे Google कोड स्कैनर, कैमरे से दूर मौजूद बारकोड को अपने-आप स्कैन कर पाएगा. जब उपयोगकर्ता अपने डिवाइसों को किसी बारकोड पर ले जाते हैं, तो स्कैनर अपने-आप बारकोड का पता लगा लेता है और उस पर ज़ूम इन कर देता है. इससे, मैन्युअल तरीके से ज़ूम करने की ज़रूरत नहीं पड़ती. साथ ही, बारकोड को तेज़ी से, ज़्यादा सटीक तरीके से, और आसानी से स्कैन किया जा सकता है (दूसरा वीडियो देखें).
पहला वीडियो. Google कोड स्कैनर इंटिग्रेशन | दूसरा वीडियो. अपने-आप ज़ूम होने की सुविधा |
इस्तेमाल के ज़्यादा जटिल उदाहरणों के लिए, जिनमें कस्टम यूज़र इंटरफ़ेस (यूआई) की ज़रूरत होती है, हमारा सुझाव है कि आप सीधे ML Kit Barcode Scanning API का इस्तेमाल करें.
अगर आपका कोई सवाल है, आपको कोई गड़बड़ी सबमिट करनी है या आपको मदद चाहिए, तो ML Kit का कम्यूनिटी पेज देखें.
शुरू करने से पहले
अपने ऐप्लिकेशन को तैयार करने के लिए, नीचे दिए गए सेक्शन में दिया गया तरीका अपनाएं.
अपने ऐप्लिकेशन को कॉन्फ़िगर करना
अपनी टॉप-लेवल
settings.gradle
फ़ाइल में,dependencyResolutionManagement
ब्लॉक में Google की Maven रिपॉज़िटरी और Maven Central रिपॉज़िटरी शामिल करें:dependencyResolutionManagement { repositories { google() mavenCentral() } }
अपने मॉड्यूल की 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' }
अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर किया जा सकता है कि 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, स्कैनर मॉड्यूल का इस्तेमाल होने पर पहली बार उसे डाउनलोड करता है.
कोड स्कैन करना
बारकोड स्कैन करने के लिए, यह तरीका अपनाएं.
ज़रूरी नहीं: कोड स्कैनर को कॉन्फ़िगर करें.
अगर आपको पता है कि आपको किन बारकोड फ़ॉर्मैट को पढ़ना है, तो सिर्फ़ उन फ़ॉर्मैट का पता लगाने के लिए बारकोड डिटेक्टर को कॉन्फ़िगर करके, उसकी स्पीड को बेहतर बनाया जा सकता है. उदाहरण के लिए, सिर्फ़ 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();
कोड के उदाहरण में दिखाए गए तरीके से,
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();