एक लंबी डिलीवरी सूचना फ़ोन पर एक टेक्स्ट जैसी दिख सकती है। फिर भी इसमें कई बिल योग्य इकाइयाँ लग सकती हैं। हर भाग में टेक्स्ट और पूरे संदेश में उसकी स्थिति पहचानने वाली जानकारी दोनों होती हैं।
फ़ोन को कैसे पता चलता है कि कौन से भाग जोड़ने हैं?
हर भाग में एक साझा संदर्भ, कुल भागों की संख्या और क्रम में उसकी स्थिति होती है।
ये मान टेक्स्ट के साथ एक हेडर में होते हैं। 3rd Generation Partnership Project की स्पेसिफिकेशन 23.040 इस तंत्र को परिभाषित करती है। फ़ोन यह भी जाँचता है कि सभी भाग एक ही प्रेषक और मैसेज सेंटर से आए हैं।
हेडर हर भाग की क्षमता का कुछ हिस्सा घेरता है। इसलिए Bird कॉन्कैटिनेटेड संदेश के हर भाग के लिए छोटी टेक्स्ट सीमा का उपयोग करता है।
एक अतिरिक्त कैरेक्टर दूसरा सेगमेंट क्यों बनाता है?
सिंगल-सेगमेंट सीमा पार करने पर Bird पूरी बॉडी को छोटी मल्टीपार्ट सीमा से विभाजित करता है।
साधारण लैटिन टेक्स्ट एक सेगमेंट में 160 कैरेक्टर आता है। लंबे संदेश का हर भाग 153 कैरेक्टर रखता है।
160 साधारण लैटिन अक्षरों की बॉडी एक सेगमेंट में आती है। एक और अक्षर जोड़ें तो 161 अक्षरों की बॉडी को दो भाग चाहिए, जिनमें 153 और आठ अक्षर होते हैं। दोनों भाग हेडर के लिए जगह सुरक्षित रखते हैं, पहला भी।
कर्ली कोट्स जैसे कैरेक्टर पूरे संदेश को छोटी सीमा पर स्विच करते हैं: 70 कैरेक्टर, या प्रति भाग 67। 70 लैटिन अक्षरों और एक कर्ली कोट वाले टेक्स्ट को इसलिए दो भाग चाहिए।
कुछ कैरेक्टर इन सीमाओं में दोगुने गिने जाते हैं। GSM-7 बनाम UCS-2 बताता है कि दिखने वाली कैरेक्टर संख्या आवश्यक जगह को कम क्यों आँक सकती है।
अगर कोई भाग गायब हो जाए तो क्या होता है?
जब तक सभी भाग नहीं मिलते, फ़ोन पूरा टेक्स्ट पुनर्निर्मित नहीं कर सकता।
नेटवर्क भागों को अलग-अलग संदेशों के रूप में संभालता है। उनकी डिलीवरी स्वतंत्र रूप से पूरी हो सकती है। एक भाग की सफल डिलीवरी पूरे टेक्स्ट की डिलीवरी नहीं दर्शाती।
इसलिए एक अधूरा संदेश डिलीवरी समस्या हो सकता है, भले ही आपके ऐप्लिकेशन ने पूरी बॉडी सबमिट की हो। जहाँ संभव हो, वन-टाइम सत्यापन कोड को एक सेगमेंट में रखें। तब प्राप्तकर्ता को इसे पढ़ने के लिए कई भागों की ज़रूरत नहीं होती।
Bird कितने भाग स्वीकार करता है?
आप एक अनुरोध में बारह सेगमेंट तक भेज सकते हैं। Bird इससे लंबी बॉडी को अस्वीकार करता है।
इसमें 1,836 साधारण लैटिन कैरेक्टर आते हैं: 153 के बारह भाग। बड़ी वर्णमाला में 804 आते हैं: 67 के बारह भाग। दोगुने गिने जाने वाले कैरेक्टर, कुछ इमोजी सहित, कितना टेक्स्ट आता है यह कम करते हैं।
अनुरोध का text फ़ील्ड बारह-सेगमेंट सीमा के अधीन एक गैर-रिक्त स्ट्रिंग स्वीकार करता है। इसे पार करने पर HTTP 422 लौटता है, यानी अनुरोध अमान्य सामग्री के कारण अस्वीकार किया जाता है। Bird चुपचाप टेक्स्ट नहीं काटता।
मैं गणना का परिणाम कैसे जाँचूँ?
आप संदेश प्रतिक्रिया के segments ऑब्जेक्ट को पढ़कर देखते हैं कि Bird ने क्या गणना की।
countकम से कम 1 का एक पूर्णांक है। आउटगोइंग संदेश 12 से अधिक नहीं हो सकते। हर भाग एक बिल योग्य इकाई में योगदान देता है।encodingया तोGSM_7BITयाUCS2होता है, जो बताता है कि कौन सी क्षमता लागू होती है।charactersदोगुनी गिनती के नियम लागू करने से पहले कैरेक्टर गिनता है। बिल योग्य सेगमेंट जाँचने के लिएcountका उपयोग करें।
लंबे टेम्पलेट के लिए, नाम या अन्य वेरिएबल टेक्स्ट डालने के बाद अंतिम बॉडी जाँचें। SMS सेगमेंट बिलिंग गणना बताता है, और कैरेक्टर सीमा गाइड प्रतिक्रिया का दस्तावेज़ीकरण करती है।
संक्षेप में
आप एक संदेश सबमिट करते हैं।
Bird एक बड़े बॉडी को ऐसे भागों में विभाजित करता है जिन्हें प्राप्तकर्ता का फ़ोन जोड़ सकता है।
हर भाग को एक हेडर चाहिए।
पुन: संयोजन की जानकारी हर सेगमेंट की टेक्स्ट क्षमता कम करती है, पहले सेगमेंट सहित।
एक गायब भाग पूर्ण पुन: संयोजन रोकता है।
पूरा टेक्स्ट दिखाने के लिए फ़ोन को सभी भागों की ज़रूरत होती है।
Bird आउटगोइंग संदेशों को बारह सेगमेंट तक सीमित करता है।
इससे लंबी बॉडी को छोटा करने के बजाय HTTP 422 प्रतिक्रिया के साथ अस्वीकार किया जाता है।