मैं रूबी 5 पर रुबी में विकसित बैकएंड द्वारा समर्थित मोबाइल ऐप (आयनिक, लेकिन अप्रासंगिक) के विकास को लपेट रहा हूं, फिर से अप्रासंगिक है क्योंकि यह सैद्धांतिक है प्रश्न/मुद्दा।मोबाइल ऐप बैकएंड में पढ़ने की सूचनाओं को कैसे संभालें
यह तथ्य यह है कि मोबाइल एप्लिकेशन में उपयोगकर्ता लॉग इन कर सकते हैं या नहीं (उन्हें कार्यक्षमताओं का एक गुच्छा मिला है, और शायद उनमें से आधा उपयोगकर्ताओं में लॉग इन नहीं किया जा सकता है), कैसे होना चाहिए मैं अधिसूचना के भंडारण और पढ़ने की स्थिति को संभालता हूं? नोट: अधिसूचना के साथ मैं पुश अधिसूचना का जिक्र नहीं कर रहा हूं, लेकिन "संदेश" पर जो ऐप के अंदर एक साइड मेनू में रहता है (मुझे पुश डिलीवरी कवर हो गई है)।
यहां मुख्य मुद्दा यह है: मैं उपयोगकर्ता को ऐप को पुनर्स्थापित करने के मामले में अपठित के रूप में चिह्नित होने से रोकने के लिए पढ़ने अधिसूचनाओं को ट्रैक करने में सक्षम होना चाहता हूं (केवल 50 अपठित अधिसूचनाओं को कल्पना करें क्योंकि आपने पुनर्स्थापित किया है)।
- आईडी
- user_id
- push_notification_id (पुश अधिसूचना आईडी के संदर्भ में, अप्रासंगिक)
- पढ़ने:
मैं एक मॉडल बैकएंड में सूचनाएं संग्रहीत करने के लिए इस प्रकार के साथ शुरू हुआ बूलियन
- सामग्री: पाठ
इस मॉडल के साथ, मैं प्रत्येक उपयोगकर्ता के लिए एक पंक्ति डालता हूं जिसे अधिसूचित करने की आवश्यकता होती है, और बूलियन कॉलम के साथ ट्रैक करें चाहे वह पढ़ा गया हो या नहीं। मुद्दा यह है कि केवल पंजीकृत उपयोगकर्ताओं को अधिसूचनाएं मिल सकती हैं।
दूसरा विकल्प उपयोगकर्ता_आईडी संदर्भ और "पढ़ने" विशेषता सर्वर-साइड को हटाने का है, और मान लीजिए कि मैं हमेशा कुछ उपयोगकर्ताओं को सूचित नहीं करता हूं। लेकिन अब, मुझे ट्रैक करने के लिए एक तरीका चाहिए कि कौन सी अधिसूचनाएं पढ़ी गईं। मैं स्थानीय ऐप में स्थानीय स्टोरेज में कुछ आईड्स संग्रहीत करने वाले स्थानीय ऐप में स्थानीय रूप से ऐसा कर सकता था, लेकिन फिर फिर से इंस्टॉल करने के मामले में उन्हें हटा दिया जाएगा।
एक तीसरा विकल्प जिसे मैंने सोचा है, एक "समाप्ति" कॉलम सर्वर-साइड के साथ दूसरे विकल्प को कार्यान्वित करना है, जो इंगित करता है कि एक नई ऐप इंस्टॉल के मामले में अधिसूचना डिफ़ॉल्ट रूप से "अपठित" होने से क्यों रोकनी चाहिए। यह अब तक का सबसे अच्छा है, लेकिन मैं वास्तव में आश्वस्त नहीं हूं।
मुझे पता है कि मैं यहां बहुत सी चीजों के लिए पूछ रहा हूं, लेकिन मैं सिर्फ एक अच्छा कार्यान्वयन मॉडल ढूंढ रहा हूं जिसे किसी ने पहले बनाया है, क्योंकि मुझे कुछ भी गुगल करने में असमर्थ रहा है, और मुझे यकीन है कि यह है एक भारी बार-बार डिजाइन पैटर्न।
धन्यवाद!
हमें यहां सहायक होने के लिए थोड़ा और संदर्भ की आवश्यकता हो सकती है। इन अधिसूचनाओं का उद्देश्य क्या है? क्या वे किसी उपयोगकर्ता को अनुकूलित कर रहे हैं? आपके विवरण से ऐसा लगता है कि वे सभी के लिए समान हैं, एक ही समय में प्रत्येक उपयोगकर्ता के लिए बाहर जा रहे हैं। – Michael
उद्देश्य पुश अधिसूचनाओं के साथ एक साथी के रूप में सेवा करना है। हर बार उपयोगकर्ताओं को पुश अधिसूचना भेजी जाती है, क्लाइंट के लिए एक साइडबार में सूचीबद्ध करने के लिए, एक ही अधिसूचना, या शायद कुछ विस्तारित सामग्री के लिए "अधिसूचना" ऑब्जेक्ट सर्वर-साइड बनाया जाता है। एक उपयोगकर्ता के अनुकूलन के लिए, शुरुआत में इस तरह से इरादा किया गया था, भले ही इसकी आवश्यकता न हो, लेकिन इसकी आवश्यकता होने पर यह अच्छा लगेगा। हालांकि, मुख्य बिंदु केवल "पढ़ने" स्थिति (क्लाइंट-साइड या सर्वर-साइड) की निगरानी करने का एक मॉडल था, इस तथ्य को देखते हुए कि क्लाइंट लॉग इन किए बिना किसी बिंदु पर पुनर्स्थापित कर सकता है। –