2011-12-22 8 views
18

मैं क्लाइंट के लिए सेब की पुश अधिसूचनाओं के लिए कुछ डेटा उजागर करने की कोशिश कर रहा हूं और कुछ ऐसा जो मुझे जवाब नहीं मिला है, यह है कि इसे हटाए जाने से पहले ऑफ़लाइन डिवाइस के लिए पुश अधिसूचना कतार में कितनी देर तक बैठेगी ।हटाए जाने से पहले पुश अधिसूचना कतार में कितनी देर तक बैठती है?

शायद लंबे समय तक, उदाहरण के लिए 2-3 महीने, जिसमें डिवाइस निष्क्रिय और संचालित हो सकता है। मुझे यह जानने में दिलचस्पी है कि मैं कितनी देर तक एक अधिसूचना को रिलीज करने की उम्मीद कर सकता हूं, ऑफ़लाइन डिवाइस पर पहुंचने का इंतजार कर रहा हूं, इससे पहले कि यह स्वचालित रूप से हटा दिया जाए (जो मैं समझता हूं कि क्या होता है)।

+1

सुरक्षित होने के लिए, आपका सर्वर आपके ऐप पर एपीआई एंडपॉइंट का पर्दाफाश कर सकता है जो आपके ऐप को किसी विशिष्ट तिथि के बाद अधिसूचनाओं के सेट के लिए सीधे लॉन्च पर आपके सर्वर को मतदान करने की अनुमति देता है। –

+1

यदि लंबे समय तक संदेश संग्रहीत करने वाले एपीएनएस सर्वर एक समस्या है, तो आप संदेश को मैन्युअल रूप से समाप्त करने के लिए केवल 'खाली' पुश अधिसूचना क्यों नहीं भेजते हैं। एपीएनएस पर क्यूओएस केवल एक संदेश कतार होगा। –

उत्तर

17

आधिकारिक डेवलपर दस्तावेज़ इस बारे में स्पष्ट नहीं है। developer.apple.com से:

एप्पल पुश सूचना सेवा सेवा (क्यूओएस) घटक है कि एक दुकान और आगे कार्य की एक डिफ़ॉल्ट गुणवत्ता भी शामिल है। यदि एपीएन अधिसूचना देने का प्रयास करता है लेकिन डिवाइस ऑफ़लाइन है, तो QoS अधिसूचना संग्रहीत करता है। यह डिवाइस पर प्रति एप्लिकेशन केवल एक अधिसूचना बरकरार रखता है: उस एप्लिकेशन के लिए प्रदाता से प्राप्त अंतिम अधिसूचना। जब ऑफ़लाइन डिवाइस बाद में पुन: कनेक्ट होता है, तो क्यूओएस डिवाइस पर संग्रहीत अधिसूचना को आगे बढ़ाता है। क्यूओएस को हटाने से पहले सीमित अवधि के लिए अधिसूचना बरकरार रखता है।

लेकिन PCWorld के अनुसार, यह 28 दिनों:

एप्लिकेशन चल रहा है, तो यह अधिसूचना तुरंत हो जाता है। यदि ऐप नहीं चल रहा है, तो ऐप के अगले लॉन्च पर उपभोग होने के लिए अधिसूचना आयोजित की जाती है। अगर आईफोन ऑफ़लाइन है तो प्रेषक डिलीवरी का प्रयास करता है, एपीएनएस 28 दिनों के लिए अधिसूचना भेजने का प्रयास करता है।

जबकि 28 दिनों में 28 दिन सच हो सकते हैं, तो आज आश्चर्यचकित नहीं होगा। प्रलेखन में अस्पष्टता ऐप्पल के लिए इस टाइमआउट अवधि को बदलने के लिए एक बड़ा बहाना है।

+0

धन्यवाद। मैंने 28-30 दिनों से कहीं भी पढ़ा था, और हां मैंने आधिकारिक अस्पष्ट दस्तावेज देखा जो मूल रूप से 'अंततः' कहा जाता था। पुष्टि के लिए धन्यवाद! – NicholasTGD

+2

इसे सत्यापित करने के लिए आपको प्रत्येक के लिए पंक्तिबद्ध अधिसूचनाओं के साथ 28-30 बंद-बंद iPhones की आवश्यकता होगी। फिर जब तक आपको संदेश नहीं मिलता है तब तक प्रत्येक को एक चालू करें। उन्होंने वास्तव में हमारे लिए यह आसान नहीं बनाया .. – paislee

+1

तो, अगर मैंने किसी डिवाइस पर एक नई अधिसूचना भेजी है जो पहले से ही एक पंक्तिबद्ध है ... नई अधिसूचना कतार होगी और कतार में से एक को हटा दिया जाएगा? सही बात? – Jeremy

2

दस्तावेज़ों को खोदने पर मुझे पता चला कि हम एपीएनएस अधिसूचनाओं के कतार को नियंत्रित करने के लिए 'समाप्ति दिनांक' पैरामीटर का उपयोग कर सकते हैं।

Here समाप्ति तिथि के उपयोग

apns-expiration

एक यूनिक्स काल तारीख सेकंड में व्यक्त (UTC) पर विस्तृत विवरण है। यह हेडर उस तारीख की पहचान करता है जब अधिसूचना अब मान्य नहीं होती है और इसे त्याग दिया जा सकता है।

यदि यह मान nonzero है, तो एपीएन अधिसूचना संग्रहीत करता है और इसे कम से कम एक बार वितरित करने का प्रयास करता है, यदि आवश्यक हो तो प्रयास को दोहराएं यदि यह पहली बार अधिसूचना वितरित करने में असमर्थ है। यदि मान 0 है, तो एपीएन अधिसूचना का व्यवहार करता है जैसे कि यह तुरंत समाप्त हो जाता है और अधिसूचना को संग्रहीत नहीं करता है या इसे फिर से वितरित करने का प्रयास नहीं करता है।

+2

कहाँ? आपका यूआरएल सक्रिय या अमान्य नहीं है – Shamsiddin

+0

लिंक फिक्स्ड। – Zano

+0

दुर्भाग्य से यह दस्तावेज प्रतिधारण के बारे में कुछ भी गारंटी नहीं देता है। अगर मैं भविष्य में 10 साल की समाप्ति तिथि निर्दिष्ट करता हूं तो मुझे संदेह है कि सेवा इसे लंबे समय तक बरकरार रखेगी। साथ ही, दस्तावेज उपेक्षा करता है कि क्या होता है यदि समाप्ति तिथि निर्दिष्ट नहीं होती है। – augurar

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