आईओएस पुश नोटिफिकेशन के अलर्ट टेक्स्ट की अधिकतम लंबाई क्या है?
प्रलेखन कहा गया है कि अधिसूचना पेलोड है कुल में 256 बाइट्स के नीचे होने की , लेकिन निश्चित रूप से वहाँ चेतावनी पाठ के लिए एक विशिष्ट अक्षरों की सीमा होनी चाहिए।
आईओएस पुश नोटिफिकेशन के अलर्ट टेक्स्ट की अधिकतम लंबाई क्या है?
प्रलेखन कहा गया है कि अधिसूचना पेलोड है कुल में 256 बाइट्स के नीचे होने की , लेकिन निश्चित रूप से वहाँ चेतावनी पाठ के लिए एक विशिष्ट अक्षरों की सीमा होनी चाहिए।
जवाबों:
अलर्ट टेक्स्ट की वास्तविक सीमाएं कहीं भी प्रलेखित नहीं हैं। प्रलेखन कहता है कि केवल एक चीज है:
आईओएस 8 और बाद में, एक सूचना पेलोड के लिए अनुमत अधिकतम आकार 2 किलोबाइट है; Apple Push Notification Service इस सीमा से अधिक किसी भी अधिसूचना को अस्वीकार कर देती है। (IOS 8 से पहले और OS X में, अधिकतम पेलोड का आकार 256 बाइट्स है।)
यह वही है जो मुझे कुछ प्रयोग करते हुए मिल सकता है।
बस एक अनुस्मारक के रूप में यहाँ आधिकारिक दस्तावेज से एक बहुत अच्छा नोट है:
यदि आवश्यक हो, तो iOS आपके संदेश को काट देता है ताकि यह प्रत्येक सूचना वितरण शैली में अच्छी तरह से फिट हो जाए; सर्वोत्तम परिणामों के लिए, आपको अपना संदेश छोटा नहीं करना चाहिए।
यह 236 बाइट्स होना चाहिए। जहां तक मुझे पता है, अलर्ट टेक्स्ट के आकार पर कोई प्रतिबंध नहीं है, लेकिन केवल कुल पेलोड आकार है। तो यह देखते हुए कि क्या पेलोड कम से कम है और केवल सतर्क सूचना है, यह इस तरह दिखना चाहिए:
{"aps":{"alert":""}}
अलर्ट स्ट्रिंग के अंदर डालने के लिए 236 बाइट छोड़ते हुए 20 अक्षर (20 बाइट) लगते हैं। ASCII के साथ जो 236 वर्णों वाला होगा, और UTF8 और UTF16 के साथ कम हो सकता है।
वर्धित प्रारूप सूचनाओं की सीमा यहां प्रलेखित है ।
यह स्पष्ट रूप से बताता है:
पेलोड 256 बाइट्स से अधिक नहीं होना चाहिए और शून्य-समाप्त नहीं होना चाहिए।
ऊपर के आरोही का दावा है कि वे 1400 पात्रों के साथ संदेश भेजने में सक्षम थे। नए अधिसूचना प्रारूप के साथ मेरे स्वयं के परीक्षण से पता चला कि 256 बाइट सीमा से अधिक 1 बाइट वाला एक संदेश अस्वीकार कर दिया गया था। यह देखते हुए कि डॉक्स इस बिंदु पर बहुत स्पष्ट हैं, मेरा सुझाव है कि यह 256 का उपयोग करने के लिए सुरक्षित है चाहे आप प्रयोगात्मक रूप से प्राप्त करने में सक्षम हो सकते हैं क्योंकि कोई गारंटी नहीं है कि Apple भविष्य में इसे 256 में नहीं बदलेगा।
चेतावनी पाठ के रूप में, यदि आप इसे 256 कुल पेलोड आकार में फिट कर सकते हैं तो इसे आईओएस द्वारा प्रदर्शित किया जाएगा। वे उस संदेश को काटते हैं जो स्थिति पट्टी पर दिखाई देता है, लेकिन यदि आप सूचना केंद्र खोलते हैं, तो पूरा संदेश है। यह भी newline वर्ण प्रदान करता है \n
।
संपादित करें:
नवीनतम जानकारी के साथ उत्तर को अपडेट करना
अधिसूचना पेलोड के लिए अनुमत अधिकतम आकार इस बात पर निर्भर करता है कि आप किस प्रदाता एपीआई को नियुक्त करते हैं।
विरासत बाइनरी इंटरफ़ेस का उपयोग करते समय, अधिकतम पेलोड आकार 2KB (2048 बाइट्स) है।
HTTP / 2 प्रदाता API का उपयोग करते समय, अधिकतम पेलोड का आकार 4KB (4096 बाइट्स) है। वॉइस ओवर इंटरनेट प्रोटोकॉल (वीओआईपी) सूचनाओं के लिए, अधिकतम आकार 5KB (5120 बाइट्स) है
OLD ANSWER: Apple डॉक्टर के अनुसार iOS 8 के लिए पेलोड 2 किलोबाइट (2048 बाइट्स) और iOS 7 और पूर्व के लिए 256 बाइट्स है। (लिंक हटा दिया क्योंकि यह एक पुराना डॉक्टर था और अब टूट गया है)
इसलिए यदि आप केवल पाठ भेजते हैं तो आपके पास 2028 (iOS 8+) या 236 (iOS 7-) वर्ण उपलब्ध हैं।
अधिसूचना पेलोड
प्रत्येक दूरस्थ सूचना में एक पेलोड शामिल है। पेलोड में इस बारे में जानकारी होती है कि सिस्टम को आपके द्वारा प्रदान किए जाने वाले किसी भी कस्टम डेटा के साथ-साथ सिस्टम को कैसे सतर्क करना चाहिए। आईओएस 8 और बाद में, एक सूचना पेलोड के लिए अनुमत अधिकतम आकार 2 किलोबाइट है; Apple Push Notification सेवा इस सीमा से अधिक किसी भी सूचना को अस्वीकार करती है। (IOS 8 से पहले और OS X में, अधिकतम पेलोड का आकार 256 बाइट्स है।)
लेकिन मैंने परीक्षण किया है और आप उत्पादन विन्यास में भी iOS 7 उपकरणों के लिए 2 किलोबाइट भेज सकते हैं
नियमित दूरस्थ सूचनाओं के लिए, अधिकतम आकार 4KB (4096 बाइट्स) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CingingtheNotificationPayload.html है
### iOS की आकार सीमा 256 बाइट्स है, लेकिन जब से iOS 8 की शुरूआत 2kb में बदल गई है!
https://forums.aws.amazon.com/ann.jspa?annID=2626
IOS 8 के साथ, Apple ने नए फीचर्स पेश किए जो मोबाइल पुश नोटिफिकेशन के लिए कुछ समृद्ध नए उपयोग के मामलों को सक्षम करते हैं - इंटरैक्टिव पुश नोटिफिकेशन, थर्ड पार्टी विजेट और बड़ा (2 KB) पेलोड। आज, हम iOS 8 के साथ घोषित नई मोबाइल पुश क्षमताओं के लिए समर्थन की घोषणा करते हुए प्रसन्न हैं। हम एक नया iOS 8 नमूना ऐप प्रकाशित कर रहे हैं, जो दर्शाता है कि इन नई सुविधाओं को एसएनएस के साथ कैसे लागू किया जा सकता है, और बड़े 2KB पेलोड के लिए समर्थन भी लागू किया है।
WWDC के अनुसार 713_hd_whats_new_in_ios_notifications। पुश पेलोड के लिए 256 बाइट्स की पिछली आकार सीमा अब iOS 8 के लिए 2 किलोबाइट तक बढ़ा दी गई है ।
स्रोत: http://asciiwwdc.com/2014/session/713?q=notification#1414.0
Apple पुश कई कारणों से एक स्ट्रिंग को अस्वीकार कर देगा। मैंने पुश डिलीवरी के लिए कई प्रकार के परिदृश्यों का परीक्षण किया, और यह मेरा काम ठीक था (अजगर में):
# Apple rejects push payloads > 256 bytes (truncate msg to < 120 bytes to be safe)
if len(push_str) > 120:
push_str = push_str[0:120-3] + '...'
# Apple push rejects all quotes, remove them
import re
push_str = re.sub("[\"']", '', push_str)
# Apple push needs to newlines escaped
import MySQLdb
push_str = MySQLdb.escape_string(push_str)
# send it
import APNSWrapper
wrapper = APNSWrapper.APNSNotificationWrapper(certificate=...)
message = APNSWrapper.APNSNotification()
message.token(...)
message.badge(1)
message.alert(push_str)
message.sound("default")
wrapper.append(message)
wrapper.notify()
अपडेट किए गए Apple दस्तावेज़ के अनुसार (मेरी उत्तर तिथि जांचें):
"... HTTP / 2 प्रदाता API का उपयोग करते समय, अधिकतम पेलोड का आकार 4096 बाइट्स होता है। लीगेसी बाइनरी इंटरफ़ेस का उपयोग करके, अधिकतम पेलोड आकार 2048 बाइट्स होता है। Apple पुश अधिसूचना सेवा (APNs) अधिकतम आकार से अधिक किसी भी अधिसूचना को मना कर देती है।"
Apple अद्यतित दस्तावेज़:
प्रत्येक दूरस्थ सूचना में एक पेलोड शामिल है। पेलोड में इस बारे में जानकारी होती है कि सिस्टम को आपके द्वारा प्रदान किए जाने वाले किसी भी कस्टम डेटा के साथ-साथ सिस्टम को कैसे सतर्क करना चाहिए। अधिसूचना पेलोड के लिए अनुमत अधिकतम आकार इस बात पर निर्भर करता है कि आप किस प्रदाता एपीआई को नियुक्त करते हैं। HTTP / 2 प्रदाता API का उपयोग करते समय, अधिकतम पेलोड का आकार 4096 बाइट्स होता है । विरासत बाइनरी इंटरफ़ेस का उपयोग करते हुए , अधिकतम पेलोड आकार 2048 बाइट्स है। Apple पुश अधिसूचना सेवा (APNs) अधिकतम आकार से अधिक किसी भी अधिसूचना को अस्वीकार कर देती है।