जब मैं अपने ऐप से लॉग आउट करता हूं तो मेरी सेवा के उपयोगकर्ताओं के लिए डिवाइस के पुश टोकन को विश्वसनीय रूप से अमान्य (मेरे सर्वर पर उपयोगकर्ता प्रोफ़ाइल से हटाएं) कैसे अक्षम कर सकता हूं?उपयोगकर्ता लॉगआउट पर आईओएस डिवाइस पुश टोकन अमान्य करें
मैं अपने उपयोगकर्ता प्रोफाइल पर एपीएन टोकन युक्त तारों की एक सरणी रखता हूं, जब भी उपयोगकर्ता किसी दिए गए डिवाइस पर पुश नोटिफिकेशन सक्षम करता है।
बाद में मुझे एहसास हुआ कि धक्का टोकन डिवाइस के लिए अद्वितीय है, लेकिन स्पष्ट रूप से, अपने आंतरिक उपयोगकर्ता खातों के कुछ नहीं जानता इसलिए यदि एक उपयोगकर्ता लॉग आउट और में (एक ही डिवाइस) एक और लॉग वे एक ही टोकन की है। फिर डिवाइस के वर्तमान उपयोगकर्ता को उनमें से किसी के लिए निर्देशित पुश अधिसूचनाएं मिलती हैं।
बुनियादी समाधान लॉग आउट करने पर उपयोगकर्ता प्रोफ़ाइल से एक डिवाइस के टोकन दूर करने के लिए है, लेकिन मैं gotchas के एक समूह के साथ ऊपर आ रहा हूँ के रूप में मुझे लगता है कि के माध्यम से:
- लॉगआउट नेटवर्क नहीं जा सकेगा एक्सेस - मैं अपने सर्वर को सूचित करने का प्रयास कर सकता हूं, लेकिन अगर उपयोगकर्ता के पास नेटवर्क एक्सेस नहीं है तो भी अतुल्यकालिक रूप से सफल होने के लिए लॉगआउट की आवश्यकता है (?)
- वास्तविक डिवाइस-टोकन अज्ञात हो सकता है - यदि उपयोगकर्ता ने अस्थायी रूप से पुश अनुमति बंद कर दी है वर्तमान टोकन नहीं दिया गया है। और डिवाइस < संग्रहित करना -> मुख्य जानकारी पहचानकर्ता के बाद सबसे अच्छी लगती है क्योंकि प्रति इंस्टॉलर परिवर्तन बदलता है और यूडीआईडी विधियों को बहिष्कृत किया जाता है।
- सर्वर पक्ष अनन्य करना (किसी खाते में टोकन जोड़ने पर, सुनिश्चित करें कि एक ही टोकन किसी अन्य खाते के लिए सेट नहीं है) - यह दूसरे उपयोगकर्ता लॉगिंग पर निर्भर करता है, जिसकी गारंटी नहीं है।
वहाँ अधिक बढ़त मामलों मैं याद कर रहा हूँ कर रहे हैं और क्या रणनीति मैं उनके आसपास काम करने के लिए उपयोग कर सकते हैं?
सुनिश्चित नहीं हैं कि मैं पहले पैराग्राफ का पालन करें। मेरे पास अनिवार्य रूप से पहला आधा है (एक टोकन एकाधिक उपयोगकर्ताओं से जोड़ा जा सकता है), लेकिन मुझे यकीन नहीं है कि मैं किस उपयोगकर्ता को अलग करता हूं, यह किस उपयोगकर्ता के लिए मान्य है। शायद उस टाइमस्टैम्प की तरह कुछ जब इसे पहली बार उस उपयोगकर्ता प्रोफ़ाइल में सहेजा गया था, तो नवीनतम नवीनतम मान्य होगा? – owenfi
पर प्रतिक्रिया के बारे में बात करने के लिए धन्यवाद ऑफ़लाइन-लॉगआउट पुश अधिसूचना, सबसे अच्छा मामले समाधान एपीआई दिया की तरह प्रतीत होता है कि द्वारा पीछा किया, और चेतावनी एक के बारे में मेरी हिचक दूर। – owenfi
पहले पैराग्राफ के बारे में, जब आप अपने सर्वर पर पुशटोकन स्टोर करते हैं, तो आप एक ही समय में उपयोगकर्ता पहचान भेज सकते हैं। यदि आपका उपयोगकर्ता मान्य है या नहीं, तो आपका सर्वर इस बिंदु पर जान जाएगा, नहीं? हालांकि मुझे यकीन है कि मैं सही ढंग से अपने प्रश्न समझ में आ नहीं कर रहा हूँ ... pushtoken ही, टाइमस्टैम्प, जिस पर वह जेनरेट हुआ था की परवाह किए बिना हो जाएगा; यकीन नहीं है कि मैं आपके विचार का पालन करता हूं। – Nick