Skip to Content
मूल अवधारणाएँपारिस्थितिकी तंत्र और पैकेज

ट्रैसलेट पारिस्थितिकी तंत्र और पैकेज

ट्रेसलेट को फ़ेडरेटेड प्लगइन आर्किटेक्चर का उपयोग करके बनाया गया है। आपके ऐप में एक विशाल, अखंड निर्भरता को मजबूर करने के बजाय, ट्रेसलेट को कई मॉड्यूलर पैकेजों में विभाजित किया गया है। यह सुनिश्चित करता है कि आपके ऐप का आकार छोटा रहे, आप केवल मूल अनुमतियाँ और कोड ही शिप करें जिनकी आपको वास्तव में आवश्यकता है, और बैकएंड लॉजिक स्थान ट्रैकिंग से पूरी तरह अलग रहता है।

नीचे ट्रैसलेट पारिस्थितिकी तंत्र में प्रत्येक पैकेज का अवलोकन दिया गया है और यह क्या करता है।

कोर पैकेज

ये पैकेज ट्रेसलेट की नींव हैं। अधिकांश ऐप्स को केवल मुख्य tracelet पैकेज के साथ सीधे इंटरैक्ट करने की आवश्यकता होगी।

देर से अनुवाद न करें

यह प्राथमिक फ्रंटएंड पैकेज है जिसे आप अपने pubspec.yaml में जोड़ते हैं। यह मुख्य डार्ट एपीआई (Tracelet.start(), Tracelet.ready()), कॉन्फ़िगरेशन ऑब्जेक्ट (Config.balanced()) प्रदान करता है, और डार्ट-टू-रस्ट बाइंडिंग को संभालता है।

देर से अनुवाद न करें

अमूर्त सामान्य इंटरफ़ेस जो फ्रंटएंड tracelet पैकेज को अंतर्निहित मूल प्लेटफ़ॉर्म से जोड़ता है। आप कभी भी इसके साथ सीधे बातचीत नहीं करेंगे, लेकिन यह सुनिश्चित करता है कि सभी प्लेटफ़ॉर्म बिल्कुल समान तरीकों और रिटर्न प्रकारों के अनुरूप हों।

tracelet_android और tracelet_ios और tracelet_web

ये प्लेटफ़ॉर्म-विशिष्ट कार्यान्वयन हैं। जब आप tracelet इंस्टॉल करते हैं, तो फ़्लटर स्वचालित रूप से इन प्लेटफ़ॉर्म पैकेजों को हुड के नीचे खींच लेता है।

  • tracelet_android में कोटलिन रैपर और एंड्रॉइड पृष्ठभूमि सेवा तर्क शामिल हैं।
  • tracelet_ios में स्विफ्ट रैपर और CLLocationManager तर्क शामिल हैं।

नेटवर्किंग और सिंक एडेप्टर

ट्रैसलेट “लोकेशन ट्रैकिंग” को “नेटवर्क सिंकिंग” से सख्ती से अलग करता है। यदि आप onLocation के अंदर अपना स्वयं का मैन्युअल HTTP पुनः प्रयास तर्क बनाना चाहते हैं, तो आपको इन्हें कभी भी इंस्टॉल नहीं करना पड़ेगा। लेकिन यदि आप स्वचालित, बैटरी-अनुकूल ऑफ़लाइन सिंकिंग चाहते हैं, तो आप एक एडाप्टर का उपयोग करते हैं।

देर से अनुवाद न करें

मुख्य देशी नेटवर्किंग इंजन. यह TraceletSync API प्रदान करता है। HTTP अनुरोध भेजने के लिए डार्ट इंजन को सक्रिय करने के बजाय, यह आपके HTTP बैकएंड पर SQLite स्थानों को स्वचालित रूप से फ्लश करने के लिए एक मूल वर्कमैनेजर (एंड्रॉइड) या BGTask (iOS) चलाता है, भले ही आपका ऐप फोर्स-क्विट हो।

देर से अनुवाद न करें

सुपाबेस  के लिए एक पूर्व-निर्मित एडाप्टर। यह ट्रैसलेट के मूल HTTP सिंक इंजन को सुपाबेस पोस्टग्रेज आरपीसी फ़ंक्शन (या एज फ़ंक्शन) पर इंगित करता है, आपके लिए apikey/Authorization हेडर सेट करता है, और पृष्ठभूमि में सुपाबेस सत्र टोकन को रीफ्रेश करता है ताकि ऐप समाप्त होने पर सिंकिंग काम करती रहे।

देर से अनुवाद न करें

फ़ायरबेस रीयलटाइम डेटाबेस (आरटीडीबी)  के लिए एक पूर्व-निर्मित एडाप्टर। यह ट्रैसलेट के मूल HTTP सिंक इंजन को RTDB REST API पर इंगित करता है - 100% सर्वर रहित, कोई क्लाउड फ़ंक्शन नहीं - और पृष्ठभूमि में फायरबेस ऑथ आईडी टोकन को रीफ्रेश करता है ताकि ऐप समाप्त होने पर सिंकिंग काम करती रहे।


डायग्नोस्टिक एवं डिबगिंग उपकरण

देर से अनुवाद न करें

डेवलपर्स के लिए एक ड्रॉप-इन यूआई ओवरले पैकेज। इसे डेव डिपेंडेंसी (flutter pub add dev:tracelet_doctor) के रूप में जोड़ें, नियमित डिपेंडेंसी के रूप में नहीं - फ़्लटर रिलीज़ बिल्ड से डिव-डिपेंडेंसी पैकेज को बाहर कर देता है, इसलिए यह आपके द्वारा शिप किए जाने वाले सामान से स्वचालित रूप से हटा दिया जाता है। परीक्षण के दौरान अपने ऐप में tracelet_doctor जोड़ने पर, आपको एक सुंदर डायग्नोस्टिक ओवरले मिलता है जो प्रदर्शित होता है:

  • वास्तविक समय जीपीएस सटीकता बजती है
  • वर्तमान गति स्थिति (स्थिर बनाम गतिशील)
  • मूल SQLite डेटाबेस पंक्ति गणना
  • अंतर्निहित बैटरी ख़त्म

QA और परीक्षण के दौरान tracelet_doctor का उपयोग करने की अत्यधिक अनुशंसा की जाती है। इसे dev_dependencies के अंतर्गत रखें और kDebugMode के पीछे उपयोग की निगरानी करें ताकि यह आपके रिलीज़ बिल्ड से ट्री-हिला हुआ हो।