Google का कोड स्कैनर एपीआई, कोड स्कैन करने से जुड़ी सभी सुविधाएं उपलब्ध कराता है. इसके लिए, आपके ऐप्लिकेशन को कैमरा ऐक्सेस करने की अनुमति मांगने की ज़रूरत नहीं पड़ती. साथ ही, उपयोगकर्ता की निजता को भी सुरक्षित रखा जाता है. ऐसा करने के लिए, Google Play सेवाओं को कोड स्कैन करने का काम सौंप दिया जाता है
और आपके ऐप्लिकेशन को सिर्फ़ स्कैन के नतीजे दिखाए जाते हैं (वीडियो 1).
सभी इमेज प्रोसेसिंग, डिवाइस पर ही होती है और Google नतीजों या इमेज डेटा को सेव नहीं करता है. यह एपीआई उन कोड फ़ॉर्मैट के साथ काम करता है जो एमएल किट बारकोड स्कैनिंग एपीआई के लिए इस्तेमाल किए जाते हैं और वही Barcode
ऑब्जेक्ट दिखाता है.
यह एपीआई उन ऐप्लिकेशन के लिए बहुत अच्छा है जिन्हें कस्टम यूआई या कैमरा अनुभव के बिना, आसानी से कोड स्कैन करने की ज़रूरत होती है. यह बदलाव पूरी तरह Google Play services के अंदर होता है. इससे आपके ऐप्लिकेशन के साइज़ पर कम से कम असर पड़ता है.
16.1.0 और इसके बाद के वर्शन में, अपने-आप ज़ूम होने की सुविधा चालू की जा सकती है. इससे Google कोड स्कैनर, कैमरे से दूर मौजूद बारकोड को अपने-आप स्कैन कर सकेगा. जब उपयोगकर्ता अपने डिवाइस को बारकोड पर फ़ोकस करते हैं, तब स्कैनर बेहतर तरीके से बारकोड का पता लगाकर उस पर ज़ूम इन करता है. इससे मैन्युअल ज़ूम अडजस्टमेंट की ज़रूरत नहीं पड़ती. इससे बारकोड स्कैन ज़्यादा तेज़, ज़्यादा सटीक, और ज़्यादा आसानी से ऐक्सेस हो जाता है (वीडियो 2 देखें).
वीडियो 1. Google कोड स्कैनर इंटिग्रेशन | वीडियो 2. अपने-आप ज़ूम होने की सुविधा इफ़ेक्ट |
अगर ज़रूरत के हिसाब से कस्टम यूज़र इंटरफ़ेस (यूआई) इस्तेमाल करना ज़रूरी हो, तो हमारा सुझाव है कि आप सीधे एमएल किट बारकोड स्कैनिंग एपीआई का इस्तेमाल करें.
अगर आपका कोई सवाल है, गड़बड़ी की शिकायत करनी है या मदद चाहिए, तो ML Kit कम्यूनिटी पेज पर जाएं.
शुरू करने से पहले
अपना ऐप्लिकेशन तैयार करने के लिए, नीचे दिए गए सेक्शन में दिए गए चरणों को पूरा करें.
अपने ऐप्लिकेशन को कॉन्फ़िगर करें
अपनी टॉप-लेवल
settings.gradle
फ़ाइल में,dependencyResolutionManagement
ब्लॉक के तहत Google की Maven रिपॉज़िटरी और Maven सेंट्रल रिपॉज़िटरी शामिल करें: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' }
अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर किया जा सकता है कि Play Store से ऐप्लिकेशन इंस्टॉल होने के दौरान, Google Play services, डिवाइस पर स्कैनर मॉड्यूल को अपने-आप डाउनलोड करे.
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
स्कैनर के मॉड्यूल की उपलब्धता की जांच भी की जा सकती है. साथ ही, Google Play services मॉड्यूलइंस्टॉलक्लाइंट एपीआई की मदद से, मॉड्यूल को डाउनलोड करने का अनुरोध भी किया जा सकता है.
अगर इंस्टॉल के समय मॉड्यूल डाउनलोड करने या अश्लील डाउनलोड का अनुरोध करने की सुविधा चालू नहीं की गई है और स्कैनर को किसी दूसरे इस्तेमाल के लिए पहले से इंस्टॉल नहीं किया गया है, तो 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();