दि मैसेज को प्लेटफ़ॉर्म के लिए फ़ॉर्मेट किया गया है, तो SMS वन-टाइम कोड अपने आप भर सकते हैं। Android पर, SMS Retriever API उस मैसेज को पढ़ता है जो 140 बाइट्स से अधिक लंबा नहीं है, जिसमें कोड शामिल है और एक 11-कैरेक्टर हैश है जो आपके ऐप की पहचान करता है। iOS और Safari में, इनपुट को autocomplete="one-time-code" (नेटिव ऐप्स में textContentType oneTimeCode) के साथ मार्क करें और कीबोर्ड कोड का सुझाव देता है। वेब पर, WebOTP API उस मैसेज को पढ़ता है जिसकी अंतिम लाइन @your-domain #code है। एक टेम्पलेट तीनों को संतुष्ट कर सकता है।
मुख्य बातें
- ऑटोफ़िल उस ऐप स्विचिंग को हटा देता है जिससे कोड प्राप्त करने और टाइप करने के बीच यूजर्स कम हो जाते हैं।
- Android SMS Retriever: अधिकतम 140 बाइट्स का मैसेज, जिसमें कोड और आपका 11-कैरेक्टर ऐप हैश शामिल हो; किसी SMS अनुमति की आवश्यकता नहीं है।
- Android SMS User Consent: कोई हैश नहीं; मैसेज में कम से कम एक नंबर के साथ 4–10 कैरेक्टर का अल्फ़ान्यूमेरिक कोड होना चाहिए; यूजर अनुमति देने के लिए टैप करता है।
- iOS और Safari: इनपुट पर autocomplete="one-time-code"; डोमेन-बाउंड अंतिम लाइन Safari के सुझाव को सक्षम बनाती है।
- WebOTP: अंतिम लाइन @domain #code, कोई स्कीम, पोर्ट या पाथ नहीं; Android और डेस्कटॉप पर Chrome में समर्थित है।
OTP ऑटोफ़िल क्यों महत्वपूर्ण है?
"कोड भेजा गया" और "कोड दर्ज किया गया" के बीच का हर चरण यूजर्स को खो देता है: मैसेजिंग ऐप पर स्विच करना, छह अंकों को याद रखना, फिर वापस स्विच करना। Autofill इसे एक टैप में बदल देता है। यह टाइपिंग की गलतियों को भी कम करता है और, डोमेन-बाउंड कोड के साथ, किसी यूजर को मिलती-जुलती साइट पर कोड दर्ज करने के लिए धोखा देना कठिन बना देता है। यह डिलीवरी को ठीक नहीं करता है: कोड को अभी भी जल्दी पहुँचना होगा, इसलिए autofill को एक तेज़ रूट और फ़ालबैक के साथ जोड़ें। OTP डिलीवरी के सर्वोत्तम तरीकों को देखें।
Android SMS Retriever API कैसे काम करता है?
SMS Retriever API आपके Android ऐप को SMS रीड परमिशन मांगे बिना वेरिफिकेशन मैसेज प्राप्त करने की अनुमति देता है। Google का डॉक्यूमेंटेशन मैसेज के लिए तीन नियम निर्धारित करता है:
- 140 बाइट्स से अधिक लंबा न हो;
- उस वन-टाइम कोड को शामिल करे जिसे ऐप आपके सर्वर पर वापस भेजता है;
- एक 11-कैरेक्टर हैश स्ट्रिंग शामिल करे जो आपके ऐप की पहचान करती है।
हैश की गणना आपके ऐप के पैकेज नाम और उसके साइनिंग सर्टिफिकेट से की जाती है: सर्टिफिकेट के हेक्स (hex) रूप के साथ पैकेज नाम जोड़ें, SHA-256 लें, उसे base64-encode करें और पहले 11 कैरेक्टर रखें। डिबग और रिलीज़ बिल्ड आमतौर पर अलग-अलग कुंजियों (keys) के साथ साइन किए जाते हैं, इसलिए उनके हैश अलग होते हैं। जब आपका सर्वर मैसेज बनाता है, तो वह सही हैश जोड़ देता है।
SMS User Consent API क्या है?
जब आप मैसेज में ऐप हैश नहीं डाल सकते, उदाहरण के लिए क्योंकि टेम्पलेट अन्य चैनलों के साथ साझा किया गया है, तो Android का SMS User Consent API उपयोगकर्ता को एक प्रॉम्प्ट दिखाता है ताकि आपका ऐप एक मैसेज पढ़ सके। Google के अनुसार, मैसेज में कम से कम एक नंबर के साथ 4–10 कैरेक्टर वाला अल्फ़ान्यूमेरिक स्ट्रिंग होना चाहिए, और यदि आपने सेंडर निर्दिष्ट किया है, तो वह उसी सेंडर से आना चाहिए। API आपके शुरू करने के बाद लगभग पांच मिनट तक सुनता है और फिर टाइम आउट हो जाता है।
iOS पर OTP ऑटोफ़िल कैसे काम करता है?
iOS कीबोर्ड से सुरक्षा-कोड ऑटोफ़िल की सुविधा देता है। एक नेटिव ऐप में, टेक्स्ट फ़ील्ड के textContentType को oneTimeCode पर सेट करें; वेब पेज पर, इनपुट में autocomplete="one-time-code" जोड़ें। जब एक मैचिंग SMS आता है, तो कोड कीबोर्ड के ऊपर दिखाई देता है और उपयोगकर्ता उस पर टैप करता है। Safari WebOTP JavaScript API को लागू नहीं करता है, लेकिन Chrome के WebOTP दस्तावेज़ों में उल्लेख है कि autocomplete एनोटेशन के साथ, डिफ़ॉल्ट कीबोर्ड कोड का सुझाव देता है यदि SMS नीचे दिए गए डोमेन-बाउंड फ़ॉर्मेट का पालन करता है (iOS 14 और macOS Big Sur या उसके बाद के वर्ज़न)।
WebOTP मैसेज फ़ॉर्मेट क्या है?
WebOTP API एक वेब पेज को navigator.credentials.get({ otp: { transport: ['sms'] } }) के साथ कोड पढ़ने की अनुमति देता है। SMS की शुरुआत मानव-पठनीय टेक्स्ट से होनी चाहिए और इसका अंत इस फ़ॉर्मेट की अंतिम पंक्ति से होना अनिवार्य है:
Your BroadNet code is 482913. @www.example.com #482913- अंतिम पंक्ति @ और उस पेज के डोमेन से शुरू होती है जो कोड मांग रहा है।
- एक स्पेस, फिर # और कोड।
- डोमेन में कोई स्कीम, पोर्ट या पाथ नहीं होना चाहिए, और इसके अंदर कोई स्पेस नहीं होना चाहिए।
- मानव-पठनीय भाग में कोड भी शामिल होना चाहिए, ताकि जो लोग मैसेज पढ़ते हैं वे उसे देख सकें।
इनपुट में भी हमेशा autocomplete="one-time-code" रखें, ताकि WebOTP के बिना वाले ब्राउज़र भी कोड दिखा सकें।
क्या एक SMS टेम्पलेट हर प्लेटफ़ॉर्म पर काम कर सकता है?
हाँ, यदि यह Android बाइट सीमा के भीतर रहता है और लाइनें सही क्रम में हैं। एक कंबाइंड टेम्पलेट:
Your BroadNet code is 482913. Do not share it.FA+9qCX9VSu @www.example.com #482913| प्लेटफ़ॉर्म | कोड कौन पढ़ता है | मैसेज के लिए क्या आवश्यक है |
|---|---|---|
| Android ऐप | SMS Retriever API | कोड और आपका 11-कैरेक्टर वाला ऐप हैश; अधिकतम 140 बाइट्स |
| Android ऐप (बिना हैश के) | SMS User Consent API | एक 4–10 कैरेक्टर वाला अल्फ़ान्यूमेरिक कोड जिसमें कम से कम एक नंबर हो |
| iOS ऐप | Security-code ऑटोफ़िल (oneTimeCode) | एक पहचानने योग्य कोड; डोमेन-बाउंड लाइन की सिफारिश की जाती है |
| Safari (iOS, macOS) | autocomplete="one-time-code" | अंतिम लाइन @domain #code |
| Chrome (Android, डेस्कटॉप) | WebOTP API | अंतिम लाइन @domain #code |
दिखाया गया हैश एक प्लेसहोल्डर है: अपने स्वयं के ऐप के मान का उपयोग करें। टेम्पलेट को GSM-7 कैरेक्टर सेट में रखें ताकि यह एक सेगमेंट बना रहे; एक इमोजी या एक्सेंटेड अक्षर पूरे मैसेज को Unicode में बदल देता है, जिससे जगह आधी रह जाती है और 140-बाइट का बजट बिगड़ सकता है। SMS एन्कोडिंग और सेगमेंटेशन देखें।
आप BroadNet के साथ ये मैसेज कैसे भेजते हैं?
अपने सर्वर पर मैसेज बनाएं और इसे OTP API या SMS API के माध्यम से भेजें; न्यूलाइन्स मैसेज टेक्स्ट का हिस्सा हैं। जब कोई कोड नहीं आता है, तो BroadNet का OTP प्रोडक्ट SMS, WhatsApp, वॉइस और Flash Call पर फ़ालबैक करता है, और MyOTP.App एक ही अकाउंट से SMS, WhatsApp या Telegram द्वारा कोड भेजता है। पूरे फ्लो के लिए, OTP फ्लो कैसे बनाएं और हमारे मल्टीचैनल OTP वेरिफिकेशन गाइड पढ़ें।
अक्सर पूछे जाने वाले प्रश्न
मेरा Android ऐप OTP SMS को क्यों नहीं पढ़ रहा है?
आमतौर पर मैसेज में ऐप हैश बिल्ड से मेल नहीं खाता (debug और release कीज़ अलग होती हैं), मैसेज 140 बाइट से लंबा है, या मैसेज आने के बाद लिसनर शुरू हुआ है।
क्या मुझे Android पर कोड ऑटोफ़िल करने के लिए SMS परमिशन की आवश्यकता है?
नहीं। SMS Retriever API और SMS User Consent API दोनों SMS रीड परमिशन के बिना काम करते हैं।
मैं iOS पर OTP ऑटोफ़िल कैसे सक्षम करूँ?
एक नेटिव ऐप में textContentType को oneTimeCode पर सेट करें, या वेब पेज पर इनपुट में autocomplete="one-time-code" जोड़ें।
WebOTP SMS फॉर्मेट क्या है?
पहले पढ़ने योग्य टेक्स्ट, फिर @ के साथ आखिरी लाइन जिसमें आपका डोमेन हो, एक स्पेस, # और कोड हो, उदाहरण के लिए @www.example.com #482913।
क्या WebOTP Safari में काम करता है?
Safari WebOTP JavaScript API को सपोर्ट नहीं करता है, लेकिन autocomplete="one-time-code" के साथ इसका कीबोर्ड डोमेन-बाउंड फॉर्मेट में मैसेज से कोड सुझाता है।
क्या मैं Android, iOS और वेब के लिए एक ही टेम्पलेट का उपयोग कर सकता हूँ?
हाँ: टेक्स्ट में कोड, अपनी अलग लाइन पर ऐप हैश, और अंत में डोमेन-बाउंड लाइन, ये सभी 140 bytes के भीतर होने चाहिए।
प्लेटफ़ॉर्म नियम 28 सितंबर 2026 को Google के SMS Retriever और SMS User Consent डॉक्यूमेंटेशन (developers.google.com) और Chrome के WebOTP डॉक्यूमेंटेशन (developer.chrome.com) में पढ़े गए। हमारे संपादकीय मानक देखें।
