Skip to Content
इंस्टालेशन

इंस्टालेशन

ट्रैसलेट को स्थापित करने में फ़्लटर निर्भरता जोड़ना और कुछ मूल प्रोजेक्ट कॉन्फ़िगरेशन बनाना शामिल है।

1. निर्भरता जोड़ें

फ़्लटर सीएलआई का उपयोग करके अपने pubspec.yaml में tracelet जोड़ें:

flutter pub add tracelet

2. आईओएस सेटअप

आपको अपने ios/Runner/Info.plist में उपयोग विवरण और पृष्ठभूमि मोड को परिभाषित करना होगा। इनके बिना, Apple आपके ऐप को अस्वीकार कर देगा या पृष्ठभूमि कार्य को समाप्त कर देगा।

<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to track your route.</string> <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>We need background location to record your route even when the app is closed.</string> <key>NSMotionUsageDescription</key> <string>Motion detection allows battery-efficient tracking by pausing GPS when stationary.</string> <key>UIBackgroundModes</key> <array> <string>location</string> <string>fetch</string> <string>processing</string> </array>

सुनिश्चित करें कि आपने location UIBackgroundMode जोड़ा है, अन्यथा पृष्ठभूमि में धकेल दिए जाने पर आपका ऐप निलंबित हो जाएगा।

3. एंड्रॉइड सेटअप

अनुशंसित निर्भरता: उच्च सटीकता वाला जीएमएस स्थान

फ्यूज्ड लोकेशन प्रोवाइडर (सर्वोत्तम सटीकता + बैटरी), हार्डवेयर गतिविधि पहचान, और हार्डवेयर जियोफेंसिंग प्राप्त करने के लिए, अपने ऐप में Google Play Services Location जोड़ें। यह ट्रैसलेट द्वारा बंडल नहीं किया गया है (हल्का रहने और Google-रहित डिवाइसों को सपोर्ट करने के लिए), इसलिए आप इसमें शामिल होते हैं:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.gms:play-services-location:21.3.0") }

इस निर्भरता के बिना, ट्रैसलेट AOSP LocationManager (सादा जीपीएस) पर वापस आ जाता है - ट्रैकिंग अभी भी काम करती है, लेकिन आप FusedLocationProviderClient की सटीकता/बैटरी लाभ, हार्डवेयर गतिविधि पहचान और हार्डवेयर जियोफेंसिंग खो देते हैं। इसे तब तक जोड़ें जब तक कि आप विशेष रूप से Google-रहित / AOSP उपकरणों को लक्षित न करें। पूर्ण तुलना के लिए एंड्रॉइड प्लेटफ़ॉर्म सेटअप देखें।

वैकल्पिक निर्भरता: प्ले इंटीग्रिटी (डिवाइस सत्यापन)

यदि आप ट्रैसलेट की डिवाइस सत्यापन सुविधा (AttestationConfig) को सक्षम करते हैं, तो अपने ऐप में Google Play इंटीग्रिटी भी जोड़ें। जीएमएस स्थान निर्भरता की तरह, यह ट्रैसलेट द्वारा बंडल नहीं है, इसलिए आप इसमें शामिल होते हैं:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.play:integrity:1.6.0") }

केवल तभी आवश्यक है जब आप सत्यापन का उपयोग करते हैं। इसके बिना, अन्य सभी सुविधाएं सामान्य रूप से काम करती हैं - Tracelet.getAttestationToken() केवल प्ले इंटीग्रिटी टोकन के बजाय null लौटाता है। विवरण के लिए एंड्रॉइड प्लेटफ़ॉर्म सेटअप देखें।

अनुमतियां

डिफ़ॉल्ट रूप से, ट्रैसलेट स्वचालित रूप से मेनिफेस्ट मर्जर के माध्यम से आपके संकलित एंड्रॉइड मेनिफेस्ट में सभी आवश्यक अनुमतियां इंजेक्ट करता है। जब तक आप उन्हें ओवरराइड नहीं करना चाहते, आपको अपने AndroidManifest.xml में मैन्युअल रूप से <uses-permission> टैग जोड़ने की ज़रूरत नहीं है।

इंजेक्ट की गई अनुमतियाँ हैं:

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

अप्रयुक्त अनुमतियाँ हटाना

यदि आपको किसी विशिष्ट सुविधा (जैसे मोशन डिटेक्शन या बूट स्टार्टअप) की आवश्यकता नहीं है, तो आप Google Play Store पर अपने ऐप के अनुरोधित दायरे को कम करने के लिए उन अनुमतियों को बलपूर्वक हटा सकते हैं।

ऐसा करने के लिए, अपने ऐप के android/app/src/main/AndroidManifest.xml में tools:node="remove" विशेषता जोड़ें:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.your.app"> <!-- Remove motion detection permission --> <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" tools:node="remove" /> <!-- Remove start on boot permission --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" tools:node="remove" /> <application> ... </application> </manifest>

यदि आप ACTIVITY_RECOGNITION को हटाते हैं, तो ट्रैसलेट मानक स्थान स्थिर अपडेट का उपयोग करने के लिए वापस आ जाएगा, जो हार्डवेयर पेडोमीटर का उपयोग करने की तुलना में थोड़ी अधिक बैटरी की खपत कर सकता है।

4. अगले चरण

इंस्टॉलेशन पूर्ण होने पर, अब आप कुछ डार्ट कोड लिख सकते हैं!