2012-02-07 19 views
30

मैं आईओएस पुश सूचनाओं के लिए नया ब्रांड हूं। मैं उनके बारे में पढ़ रहा हूं और कहीं भी यह जानकारी नहीं ढूंढ पा रहा हूं। मैंने पढ़ा है कि पुश अधिसूचना पर आकार सीमा 256 बाइट्स है। क्या इस आकार की सीमा में डिवाइस टोकन जैसी चीजें शामिल हैं जिन्हें अधिसूचना के बारे में भेजा जाना चाहिए और अन्य ओवरहेड जानकारी शामिल है। यदि हां, तो वास्तविक सामग्री क्या है जो मेरी सामग्री के लिए उपलब्ध है।आईफोन पुश अधिसूचना कैरेक्टर सीमा

इसके अलावा मैं जो पाठ भेजता हूं उसे समझने के लिए वे किस प्रारूप का उपयोग कर रहे हैं? रूपांतरण 1 वर्ण = 1 बाइट है या यह उससे अधिक है। वास्तव में मैं जानना चाहता हूं कि पुश अधिसूचनाओं में मैं कितने अक्षर भेज सकता हूं।

पुश अधिसूचना पेलोड की सीमाओं को समझने में किसी भी मदद के लिए धन्यवाद।

उत्तर

49

प्रत्येक पुश अधिसूचना इसके साथ एक पेलोड रखती है। पेलोड निर्दिष्ट करता है कि क्लाइंट एप्लिकेशन पर डाउनलोड होने के लिए उपयोगकर्ताओं को डेटा से कैसे सतर्क किया जाए। अधिसूचना पेलोड के लिए अधिकतम आकार 256 बाइट्स है; ऐप्पल पुश अधिसूचना सेवा इस सीमा से अधिक है कि किसी भी अधिसूचना से इनकार करता है।

प्रत्येक अधिसूचना के लिए, प्रदाताओं को एक JSON शब्दकोश ऑब्जेक्ट लिखना चाहिए जो आरएफसी 4627 का सख्ती से पालन करता है। इस शब्दकोश में कुंजी एपी द्वारा पहचाना गया एक और शब्दकोश होना चाहिए। ए पी एस शब्दकोश एक या अधिक प्रॉपर्टी कि निम्न कार्य निर्दिष्ट शामिल हैं:

  • एक चेतावनी संदेश उपयोगकर्ता
  • एक नंबर करने के लिए प्रदर्शित करने के लिए खेलने के लिए
  • एक ध्वनि के साथ आवेदन आइकन बैज को

- Local and Push Notifications Programming Guide

तो, आपके प्रश्न का उत्तर,

क्या इस आकार की सीमा में उपकरण टोकन जैसी चीजें शामिल हैं जिनमें भेजा गया है और अधिसूचना के बारे में अन्य ओवरहेड जानकारी है।

हां, इस आकार सीमा में डिवाइस टोकन और अन्य ओवरहेड जानकारी शामिल है।

रूपांतरण 1 वर्ण = 1 बाइट है या यह उससे अधिक है।

यह सच है यदि आप अपनी अधिसूचना में केवल लैटिन अक्षरों का उपयोग कर रहे हैं।

+0

ठीक है क्योंकि इसमें ओवरहेड शामिल है, क्या आप जानते हैं कि ओवरहेड को ध्यान में रखे जाने के बाद मैं कितनी जगह शेष रखूंगा? (कुल स्थान - ओवरहेड = # शेष वर्णों में से #) धन्यवाद। – jcmitch

+13

पेलोड पर विचार करना न्यूनतम है और केवल अलर्ट जानकारी है, आपके पास आपके टेक्स्ट के लिए लगभग 236 वर्ण हैं। लेकिन ध्यान दें कि 'UIAlertView' डिस्प्ले सीमा पुश 107 वर्ण है। उसके बाद आपका संदेश छोटा हो जाता है और आपको प्रदर्शित संदेश के अंत में "..." मिल जाएगा। –

+0

ठीक है धन्यवाद। UIAlertView एक समस्या नहीं होनी चाहिए। पेलोड में बाद में उपयोग किए जाने वाले डेटा को संलग्न करने की आवश्यकता है। – jcmitch

5

उपरोक्त सभी स्पष्ट रूप से अस्पष्ट हैं, क्योंकि 'शामिल' का अर्थ हो सकता है "यह पहले से ही शामिल है" या "आपको इसे शामिल करना होगा"। बहुत स्पष्ट होने के लिए, डिवाइस आईडी 'मेटाडेटा' है, जो पेलोड का हिस्सा नहीं है, और आपके 256 वर्ण बजट से बाहर नहीं आती है। अन्य एपीएस ओवरहेड (मानक पेलोड शब्दकोश), हालांकि, है।

स्रोत: ऊपर दिए गए दस्तावेज़ और सत्यापन के लिए प्रयोग।

3

उत्पादन वातावरण में मेरे एपीएनएस परीक्षण में, 33 चीनी वर्णों और 13 बाइट्स के 2 कस्टम गुण सफलतापूर्वक भेजे जा सकते हैं।

{ 

    "aps": { 
     "alert": "一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三", 
     "badge": 12, 
    } 
    "t": 123, 
    "v": "1234567890" 
} 

ऊपर पेलोड लंबाई 158 बाइट्स यदि फ़ाइल के रूप में सहेजा है, न कि अंतरिक्ष वर्ण गिनती था। प्रत्येक चीनी चरित्र को 3 बाइट्स के रूप में गिना जाता था (मैंने पुष्टि की कि आकार बदलने के लिए उन सभी को हटाकर)।

आधिकारिक दस्तावेज के अनुसार, 256-बाइट सीमा में डिवाइस टोकन शामिल नहीं है, लेकिन मेरा मानना ​​है कि एपीएनएस की गणना की जाती है जैसे कि 'ध्वनि' और 'सामग्री-उपलब्ध', भले ही आप उपयोग न करें स्पष्ट रूप से।

इसलिए सावधान रहें कि 'बहुत लंबा' न हो, खासकर कस्टम पेलोड का उपयोग करते समय। ध्यान रखें कि एपीएनएस विकास पर्यावरण पेलोड की लंबाई को सीमित नहीं करता है। विकास पर्यावरण का उपयोग करते समय आपका परीक्षण पास, लेकिन उत्पाद में असफल हो सकता है। इसे निश्चित रूप से न लें।

संबंधित मुद्दे