2015-02-13 15 views
5

में दिखाई नहीं दे रहा है मैं मूल रूप से आईओएस में अधिसूचना ट्रे में दिखाई देने वाले एक ही एप्लिकेशन में एकाधिक पुश सूचनाएं बनाना चाहता हूं।ऐप्पल एकाधिक पुश नोटिफिकेशन नोट्स ट्रे

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

बहरहाल, यह क्या WhatsApp में काम किया है:

  1. निकला डेटा कनेक्शन बंद
  2. कुछ संदेश WhatsApp को भेजा गया
  3. पर
  4. निकला डेटा कनेक्शन कई पुश नोटिफिकेशन के एप्पल की सूचना ट्रे में प्राप्त देखा

यह परिदृश्य कैसे काम कर रहा है? क्या मैं इसके लिए एपीएनएस का उपयोग कर सकता हूं? यदि हां, तो कैसे?

वीचैट में एकाधिक पुश अधिसूचनाओं के this sample image देखें।

उत्तर

5

आप की तरह अपने प्रश्न में लिखा है, यह एप्पल डॉक्स में बताया गया है:

आप एक ही डिवाइस या समय की एक छोटी अवधि के भीतर कंप्यूटर करने के लिए कई सूचनाएं भेज रहे हैं, धक्का सेवा भेज देंगे केवल अंतिम वाला।

Link

केवल परिदृश्य है कि आप क्या काम करेंगे वर्णन कर रहे हैं अपने WhatsApp जबकि जो push notifications हो रही पृष्ठभूमि में खुला था। इस तरह whatsApp उन्हें local notifications के रूप में संभालेगा और उन सभी को अधिसूचना केंद्र में पेश करेगा। अगर whatsApp बंद था तो आपको किसी भी अन्य ऐप की तरह अंतिम सूचना मिल जाएगी।

आप आसानी से इस परीक्षण कर सकते हैं:

  1. WhatsApp बर्खास्त और Airplane mode चालू करें।
  2. अपने डिवाइस को 5 से 1 संदेश 5 भेजें।
  3. Airplane mode बंद करें और अपने डिवाइस को लॉक करें।
  4. आपको अपने notifications center में केवल एक संदेश दिखाई देगा (अंतिम बार आपने "5" भेजा था)।

यह कैसे WhatsApp यह काम कर रहा है है:

WhatsApp पृष्ठभूमि में है, एक भी धक्का सूचना प्राप्त होने पर (पिछले एक उपयोगकर्ता द्वारा भेजे गए, "5" हमारे उदाहरण में)। वह संदेश उपयोगकर्ता को नहीं दिखाया जाएगा।

whatsApp इसे application:didReceiveRemoteNotification:fetchCompletionHandler: विधि में प्राप्त करता है और उपयोगकर्ता द्वारा प्राप्त किए गए "5" से पहले कोई सूचना नहीं होने पर उनके सर्वर के खिलाफ जांच करता है। यदि ऐसा है, तो वे उस डेटा को अपने सर्वर से खींचेंगे और local notifications का उपयोग कर उपयोगकर्ता को प्रस्तुत करेंगे जो मूल रूप से डेटा प्रस्तुत करने का तरीका है और एपीएनएस से संबंधित नहीं है।

+0

: मैंने डेटा कनेक्शन को बंद करके और थोड़ी देर बाद ऑनलाइन वापस आकर व्हाट्सएप पर यह कोशिश की (इस अवधि के दौरान अगर यह पृष्ठभूमि में व्हाट्सएप था तो इससे कोई फर्क नहीं पड़ता) लेकिन यह अभी भी सभी पुश नोटिफिकेशन प्राप्त कर चुका है। यह एपीएनएस का उपयोग नहीं कर रहा है लेकिन फिर वे इसे कैसे प्राप्त कर रहे हैं जो मुझे जानने की जरूरत है। – Geek

+0

मैंने चीजों को थोड़ा और स्पष्ट करने के लिए उत्तर संपादित किया है – Segev

+0

आवेदन: didReceiveRemoteNotification: fetchCompletionHandler: यह विधि समाप्त राज्य में काम नहीं कर रही है, तो हम संभवतः ऐसा कैसे कर सकते हैं, जब हमें अंतिम संदेश मिला तो अनुरोध करें और अंतिम संदेश धक्का प्राप्त करें फिर। –

-1

यह Troubleshooting Push Notifications में समझाया गया है। "कुछ अधिसूचनाएं प्राप्त की गईं, लेकिन सभी नहीं" अनुभाग की जांच करें।

-1

जैसा कि वर्णन किया गया है कि आप उन पुश अधिसूचनाओं पर कोई नियंत्रण नहीं रख सकते हैं।

कि आप जानते हैं फिर भी है कि iOS7 से एक नई पृष्ठभूमि निष्पादन मोड (रिमोट अधिसूचना) प्रणाली द्वारा जगाने जा करने के लिए एक धक्का प्राप्त होने पर, आप कुछ डेटा की प्रक्रिया करने के लिए अनुमति एप्लिकेशन की अनुमति देता है, तो सोने के लिए वापस जाने के लिए ...

यह शायद चाल है: पुश अधिसूचनाएं (चुपचाप) प्राप्त करने के लिए उस तरीके का उपयोग करके और फिर अपनी खुद की स्थानीय अधिसूचना को ट्रिगर करें जैसे कि @ सेगेव ने कहा। See the UIBackgroundModes here

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