Skip to Content
API റഫറൻസ്

സമഗ്രമായ API റഫറൻസ്

ഈ പേജിൽ Tracelet-ൻ്റെ കോൺഫിഗറേഷൻ API-യുടെ സത്യത്തിൻ്റെ സമ്പൂർണ്ണ ഉറവിടം അടങ്ങിയിരിക്കുന്നു. Tracelet.ready(Config)-ലേക്ക് കൈമാറാൻ കഴിയുന്ന എല്ലാ പരാമീറ്ററുകളും ഇവിടെ പട്ടികപ്പെടുത്തിയിട്ടുണ്ട്.

എന്തുകൊണ്ടാണ് നിങ്ങൾ ഈ പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്നത് എന്ന് വിശദീകരിക്കുന്ന യഥാർത്ഥ-ലോക വാസ്തുവിദ്യാ സാഹചര്യങ്ങൾക്ക്, അവയ്‌ക്ക് അടുത്തുള്ള “കഥ കാണുക 📖” ലിങ്കുകൾ ക്ലിക്കുചെയ്യുക.


റൺടൈമിൽ കോൺഫിഗറേഷൻ അപ്ഡേറ്റ് ചെയ്യുന്നു - ready() vs setConfig()

കോൺഫിഗറേഷൻ പ്ലഗിനിലേക്ക് എത്തുന്നതിന് രണ്ട് വഴികളുണ്ട്, അവ വ്യത്യസ്തമായ കാര്യങ്ങളാണ് അർത്ഥമാക്കുന്നത്.

Tracelet.ready(config) പൂർണ്ണമായ അടിസ്ഥാനരേഖ സ്ഥാപിക്കുന്നു. എല്ലാ മേഖലകളും അയച്ചു, അതിൻ്റെ ഫലപ്രദമായ മൂല്യത്തിലേക്ക് പരിഹരിച്ചു. സ്റ്റാർട്ടപ്പിൽ ഒരിക്കൽ - അല്ലെങ്കിൽ എപ്പോൾ വീണ്ടും വിളിക്കുക നിങ്ങൾ മുഴുവൻ കോൺഫിഗറേഷനും മാറ്റിസ്ഥാപിക്കാൻ ആഗ്രഹിക്കുന്നു. Tracelet.reset(config) പെരുമാറുന്നു അതേ വഴി.

Tracelet.setConfig(config) എന്നത് ഒരു ഭാഗിക അപ്‌ഡേറ്റാണ്. നിങ്ങൾ വയലുകൾ മാത്രം യഥാർത്ഥത്തിൽ സെറ്റ് കൈമാറ്റം ചെയ്യപ്പെടുന്നു; മറ്റെല്ലാം പ്ലാറ്റ്‌ഫോമിലുള്ളത് സൂക്ഷിക്കുന്നു നിലനിന്നു. ഒരു കാര്യം മാറ്റേണ്ടിവരുമ്പോൾ മിഡ്-സെഷൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നത് ഇതാണ്:

// Changes one flag. The notification title from ready(), the HTTP URL, // distanceFilter, stopOnTerminate — all keep their configured values. await Tracelet.setConfig(const Config( android: AndroidConfig( foregroundService: ForegroundServiceConfig( showNotificationOnPauseOnly: true, ), ), )); // Changes nothing at all. await Tracelet.setConfig(const Config());

⚠️ 3.8.0-ൽ മാറ്റി. setConfig() മുമ്പ് മുഴുവൻ മാറ്റിസ്ഥാപിച്ചു കോൺഫിഗറേഷൻ, അതിനാൽ നിങ്ങൾ പരാമർശിക്കാത്ത ഏതെങ്കിലും ഫീൽഡ് അതിലേക്ക് നിശബ്ദമായി പുനഃസ്ഥാപിച്ചു സ്ഥിരസ്ഥിതി — setConfig(const Config()) റീസെറ്റ് എല്ലാം, ഉൾപ്പെടെ stopOnTerminate, HTTP ക്രമീകരണങ്ങൾ, ഫോർഗ്രൗണ്ട്-സേവന അറിയിപ്പ് എന്നിവയും iOS കീപ്-ലൈവ് ഫ്ലാഗുകൾ. നില പുനഃസജ്ജമാക്കാൻ നിങ്ങൾ അതിനെ ആശ്രയിക്കുകയാണെങ്കിൽ, വിളിക്കുക Tracelet.reset() അല്ലെങ്കിൽ പകരം ready() (#320 , #321 ).

ഒരു മൂല്യം അതിൻ്റെ ഡിഫോൾട്ടിലേക്ക് തിരികെ സജ്ജീകരിക്കുന്നത് ഇപ്പോഴും പ്രവർത്തിക്കുന്നു. “അൺസെറ്റ്” എന്നാൽ നിങ്ങൾ ചെയ്തില്ല എന്നാണ് അർത്ഥമാക്കുന്നത്. ഫീൽഡ് നൽകുക, ഒരിക്കലും മൂല്യം സ്ഥിരസ്ഥിതിക്ക് തുല്യമല്ല - അങ്ങനെ ForegroundServiceConfig(showNotificationOnPauseOnly: false) പതാക തിരിക്കുന്നു ഓഫ്. നിങ്ങൾ പൂർണ്ണമായും ഒഴിവാക്കിയ ഒരു ഫീൽഡ് മാത്രം അവശേഷിക്കുന്നു.

Tracelet.activeConfig പ്രാദേശികമായി ഒരേ ലയനം പ്രയോഗിക്കുന്നു, അതിനാൽ ഇത് എല്ലായ്പ്പോഴും പ്രതിഫലിക്കുന്നു നിങ്ങളുടെ അവസാനത്തെ കോളിൻ്റെ ഡിഫോൾട്ടുകളേക്കാൾ പ്ലാറ്റ്‌ഫോം യഥാർത്ഥത്തിൽ എന്താണ് സൂക്ഷിക്കുന്നത് സജ്ജീകരിക്കാത്തത്.

പൈപ്പ്‌ലൈൻ അല്ല തുടരുകയോ പുനരാരംഭിക്കുകയോ ചെയ്യേണ്ട മാറ്റങ്ങൾക്ക്, ഉപയോഗിക്കുക പകരം ടാർഗെറ്റുചെയ്‌ത റൺടൈം API-കൾ: updateLocationProviderOptions() കൃത്യത/ദൂരം, ഒപ്പം updateNotification() തത്സമയ അറിയിപ്പ് വീണ്ടും പോസ്റ്റ് ചെയ്യാൻ.


🌍 GeoConfig (config.geo)

ഫിസിക്കൽ ലൊക്കേഷൻ, കൃത്യത, സാമ്പിൾ ലോജിക് എന്നിവ നിയന്ത്രിക്കുന്നു. ജിയോ സ്റ്റോറി കാണുക 📖

  • desiredAccuracy: DesiredAccuracy (Default: DesiredAccuracy.high) ലക്ഷ്യ ഹാർഡ്‌വെയർ കൃത്യത. ബാറ്ററി ലാഭിക്കാൻ GPS-ന് high, സെല്ലുലാർ/Wi-Fi-ന് low എന്നിവ ഉപയോഗിക്കുക.
  • distanceFilter: double (Default: 10.0) ഒരു പോയിൻ്റ് രേഖപ്പെടുത്തുന്നതിന് മുമ്പ് നീങ്ങേണ്ട ഏറ്റവും കുറഞ്ഞ തിരശ്ചീന മീറ്ററുകൾ.

ℹ️ setConfig() വഴി desiredAccuracy അല്ലെങ്കിൽ distanceFilter മാറ്റുന്നത് മൂല്യങ്ങൾ നിലനിൽക്കുകയും ട്രാക്കിംഗ് പൈപ്പ്ലൈൻ പുനരാരംഭിക്കുകയും ചെയ്യുന്നു. ട്രാക്കുചെയ്യുമ്പോൾ താൽക്കാലിക ഓവർറൈഡിനായി (ഉദാ. സ്ഥിരീകരിച്ച നിശ്ചല കാലയളവിൽ ജിപിഎസ് ലഘൂകരിക്കൽ), updateLocationProviderOptions() ഉപയോഗിക്കുക - ഇത് പുനരാരംഭിക്കാതെ തന്നെ റണ്ണിംഗ് പ്രൊവൈഡറെ തത്സമയം അപ്‌ഡേറ്റ് ചെയ്യുന്നു, സ്ഥിരമായ കോൺഫിഗറിലേക്ക് ഒരിക്കലും സ്പർശിക്കില്ല.

  • stationaryRadius: double (Default: 25.0) ഉപയോക്താവിന് ചുറ്റുമുള്ള ആരം നിശ്ചലമായി കണക്കാക്കും (ജിപിഎസ് ചോർച്ച നിർത്തുന്നു).
  • locationTimeout: int (Default: 60) ഉപേക്ഷിക്കുന്നതിന് മുമ്പ് ഒരു GPS ലോക്കിനായി കാത്തിരിക്കാൻ പരമാവധി സെക്കൻ്റുകൾ.
  • disableElasticity: bool (Default: false) ശരിയാണെങ്കിൽ, ചലനാത്മക വേഗത അടിസ്ഥാനമാക്കിയുള്ള ദൂരം സ്കെയിലിംഗ് പ്രവർത്തനരഹിതമാക്കുന്നു.
  • elasticityMultiplier: double (Default: 1.0) ഉയർന്ന വേഗതയിൽ സഞ്ചരിക്കുമ്പോൾ ഡൈനാമിക് ഡിസ്റ്റൻസ് ഫിൽട്ടറിനായുള്ള മൾട്ടിപ്ലയർ.
  • stopAfterElapsedMinutes: int (Default: -1) X മിനിറ്റിന് ശേഷം എഞ്ചിൻ യാന്ത്രികമായി നിർത്തുന്നു. -1 എന്നാൽ എന്നെന്നേക്കുമായി ഓടുക.
  • maxMonitoredGeofences: int (Default: -1) ഒരേസമയം നിരീക്ഷിക്കാനുള്ള പരമാവധി ജിയോഫെൻസുകൾ.
  • enableTimestampMeta: bool (Default: false) കൃത്യമായ നാനോ സെക്കൻഡ് ഹാർഡ്‌വെയർ ടൈംസ്റ്റാമ്പുകൾ ഘടിപ്പിക്കുന്നു.
  • enableAdaptiveMode: bool (Default: false) ബാറ്ററി നിലയെ അടിസ്ഥാനമാക്കി ക്രമീകരണങ്ങൾ സ്വയമേവ ടോഗിൾ ചെയ്യുന്നു.
  • periodicLocationInterval: int (Default: 900) നിശ്ചലമാകുമ്പോൾ ആനുകാലിക അപ്‌ഡേറ്റുകൾക്കിടയിലുള്ള സെക്കൻഡ്.
  • periodicDesiredAccuracy: DesiredAccuracy (Default: DesiredAccuracy.medium) ആനുകാലിക പശ്ചാത്തലം ഉണരുമ്പോൾ ഉപയോഗിക്കുന്ന കൃത്യത.
  • enableSparseUpdates: bool (Default: false) ലോ-പവർ സെൽ-ടവർ ത്രികോണം പ്രത്യേകമായി ഉപയോഗിക്കുന്നു.
  • sparseDistanceThreshold: double (Default: 50.0) സ്പാർസ് മോഡിൽ നീക്കാൻ മീറ്ററുകൾ.
  • sparseMaxIdleSeconds: int (Default: 300) ഒരു വിരളമായ അപ്ഡേറ്റ് ഇല്ലാതെ പരമാവധി സമയം.
  • enableDeadReckoning: bool (Default: false) GPS നഷ്‌ടപ്പെടുമ്പോൾ ലൊക്കേഷൻ ഊഹിക്കാൻ ആക്‌സിലറോമീറ്റർ/ഗൈറോസ്‌കോപ്പ് ഉപയോഗിക്കുന്നു (ഉദാ. ടണലുകൾ).
  • deadReckoningActivationDelay: int (Default: 0) നിർജ്ജീവമായ കണക്കുകൂട്ടൽ ആരംഭിക്കുന്നതിന് മുമ്പ് GPS നഷ്ടത്തിൻ്റെ നിമിഷങ്ങൾ.
  • deadReckoningMaxDuration: int (Default: 0) നിർത്തുന്നതിന് മുമ്പ് ഡെഡ് റിക്കണിംഗ് അനുവദിക്കുന്നതിന് പരമാവധി സെക്കൻഡ്.
  • resolveAddress: bool (Default: false) ഒരു സ്ട്രീറ്റ് വിലാസ സ്ട്രിംഗിലേക്ക് സ്വയമേവ റിവേഴ്സ്-ജിയോകോഡുകൾ കോർഡിനേറ്റ് ചെയ്യുന്നു.

🧹 ലൊക്കേഷൻ ഫിൽട്ടർ (config.geo.filter)

SQLite/Sync-ൽ എത്തുന്നതിന് മുമ്പ് മോശം GPS ഡാറ്റ വൃത്തിയാക്കുന്നു. ഫിൽട്ടർ സ്റ്റോറി കാണുക 📖

  • trackingAccuracyThreshold: int (Default: 100) X മീറ്ററിനേക്കാൾ മോശമായ കൃത്യതയുള്ള പോയിൻ്റുകൾ ഡ്രോപ്പ് ചെയ്തു.
  • maxImpliedSpeed: int (Default: 80) വേഗത > X m/s (80 m/s = 288 km/h) സൂചിപ്പിക്കുന്ന ലൊക്കേഷൻ ജമ്പുകൾ നിരസിക്കുന്നു.
  • odometerAccuracyThreshold: int (Default: 50) X മീറ്ററിനേക്കാൾ മോശമായ കൃത്യതയുള്ള പോയിൻ്റുകൾ മൊത്തം യാത്രാ ദൂരത്തിലേക്ക് ചേർക്കില്ല.
  • policy: LocationFilterPolicy (Default: LocationFilterPolicy.adjust) മോശം പോയിൻ്റുകൾ എങ്ങനെ കൈകാര്യം ചെയ്യാം (drop അല്ലെങ്കിൽ adjust).
  • rejectMockLocations: bool (Default: false) GPS സ്പൂഫിംഗ് ആപ്പുകൾ സൃഷ്ടിച്ച ലൊക്കേഷനുകൾ ഉടനടി ഡ്രോപ്പ് ചെയ്യുന്നു.
  • mockDetectionLevel: int (Default: 1) വ്യാജ ജിപിഎസ് കണ്ടെത്തൽ ഹ്യൂറിസ്റ്റിക്സിൻ്റെ ആക്രമണാത്മകത.
  • useKalmanFilter: bool (Default: false) അസംസ്‌കൃത ജിപിഎസ് പാതയിലേക്ക് സങ്കീർണ്ണമായ കൽമാൻ സുഗമമാക്കൽ പ്രയോഗിക്കുന്നു.

📱 AppConfig (config.app)

മൊത്തത്തിലുള്ള ആപ്പ് ലൈഫ് സൈക്കിൾ പെരുമാറ്റം നിയന്ത്രിക്കുന്നു.

  • stopOnTerminate: bool (Default: true) true ആണെങ്കിൽ, ഉപയോക്താവ് ആപ്പ് സ്വൈപ്പ് ചെയ്യുമ്പോൾ ട്രാക്കിംഗ് നിർത്തുന്നു. false ആണെങ്കിൽ, അത് പശ്ചാത്തലത്തിൽ റീബൂട്ട് ചെയ്യുന്നു. ടെർമിനേറ്റ് സ്റ്റോറി കാണുക 📖
  • startOnBoot: bool (Default: false) true ആണെങ്കിൽ, ഫോൺ പുനരാരംഭിക്കുമ്പോൾ ട്രാക്കിംഗ് സ്വയമേവ ആരംഭിക്കും.
  • heartbeatInterval: int (Default: 60) എഞ്ചിൻ സജീവമാണെന്ന് തെളിയിക്കാൻ ഓരോ X സെക്കൻ്റിലും “ഹൃദയമിടിപ്പ്” പരിപാടി നടത്തുന്നു.
  • schedule: List<String> (Default: []) നിർദ്ദിഷ്‌ട സമയങ്ങളിൽ സ്വയമേവ ട്രാക്കിംഗ് ആരംഭിക്കാൻ/നിർത്താൻ CRON പോലുള്ള സ്ട്രിംഗുകൾ.
  • remoteConfigUrl: String? (Default: null) HTTPS URL, SDK, ready()-ൽ നിന്ന് JSON കോൺഫിഗറേഷൻ മാപ്പ് ലഭ്യമാക്കുന്നു, അത് ലോക്കൽ കോൺഫിഗറിനു മുകളിൽ പ്രയോഗിക്കുകയും പശ്ചാത്തലത്തിൽ പുതുക്കുകയും ചെയ്യുന്നു. തൽക്ഷണ ഓഫ്‌ലൈനായി ഉപകരണത്തിൽ കാഷെ ചെയ്‌തു. റിമോട്ട് കോൺഫിഗറേഷൻ കാണുക.
  • remoteConfigHeaders: Map<String, String>? (Default: null) റിമോട്ട് കോൺഫിഗറേഷൻ ലഭ്യമാക്കുന്നതിനുള്ള HTTP തലക്കെട്ടുകൾ.
  • remoteConfigTimeout: int (Default: 60000) ms-ൽ റിമോട്ട് കോൺഫിഗറേഷൻ ലഭ്യമാക്കുന്നതിനുള്ള സമയപരിധി.
  • remoteConfigRefreshInterval: int (Default: 1440) റിമോട്ട് കോൺഫിഗറേഷൻ വീണ്ടും ലഭ്യമാക്കുന്നതിന് മിനിറ്റുകൾക്ക് മുമ്പ്.

🤖 ആൻഡ്രോയിഡ് കോൺഫിഗ് (config.android)

Android നിർദ്ദിഷ്ട OS നിയന്ത്രണങ്ങൾ. Android സ്റ്റോറി കാണുക 📖

  • locationUpdateInterval: int (Default: 1000) ജിപിഎസ് പിംഗുകൾക്കിടയിൽ മിസ്.
  • batteryBudgetPerHour: double (Default: 0.0) മണിക്കൂറിൽ പരമാവധി ബാറ്ററി ചോർച്ച % ലക്ഷ്യമിടുന്നു. 0.0 ത്രോട്ടിലിംഗ് പ്രവർത്തനരഹിതമാക്കുന്നു.
  • releaseWakelockWhenStationary: bool (Default: false) MotionDetectionMode.smart ഉപയോഗിക്കുമ്പോൾ, ഡീപ് സ്ലീപ്പ് ബാറ്ററി ലാഭിക്കുന്നതിന് ഉപകരണം പൂർണ്ണമായും നിശ്ചലമാകുമ്പോൾ ട്രാക്കിംഗ് വേക്ക്‌ലോക്ക് റിലീസ് ചെയ്യുന്നു.
  • fastestLocationUpdateInterval: int (Default: 500) മറ്റൊരു ആപ്പ് ആവശ്യപ്പെട്ടാൽ GPS പിങ്ങുകൾക്കിടയിലുള്ള ഏറ്റവും വേഗതയേറിയ ms.
  • deferTime: int (Default: 0) X ms-നായി ലൊക്കേഷൻ അപ്‌ഡേറ്റുകൾ ബാച്ച് ചെയ്യാൻ Android-നെ അനുവദിക്കുന്നു.
  • allowIdenticalLocations: bool (Default: false) തെറ്റാണെങ്കിൽ, ഡ്യൂപ്ലിക്കേറ്റ് കൃത്യമായ കോർഡിനേറ്റുകൾ ഒഴിവാക്കപ്പെടും.
  • geofenceModeHighAccuracy: bool (സ്ഥിരസ്ഥിതി: false) — ⚠️ ഒഴിവാക്കപ്പെട്ടു ജിയോഫെൻസുകൾക്കായി ജിപിഎസ് ചിപ്പ് നിർബന്ധിക്കുന്നു (കനത്ത ബാറ്ററി ഡ്രെയിൻ). ക്രോസ്-പ്ലാറ്റ്ഫോം ഉപയോഗിക്കുക GeofenceConfig.geofenceModeHighAccuracy (ചുവടെയുള്ള GeofenceConfig വിഭാഗം കാണുക) പകരം - ഇത് ഇപ്പോൾ iOS, Android എന്നിവ നിയന്ത്രിക്കുന്നു. ഈ Android-മാത്രം ഫ്ലാഗ് ഇപ്പോഴും നിലവിലുണ്ട് ബാക്ക്‌വേർഡ് കോംപാറ്റിബിളിറ്റിക്ക് ആദരിക്കപ്പെടുന്നു (ഒന്നുകിൽ true ആണെങ്കിൽ, ഉയർന്ന കൃത്യതയുള്ള മോഡ് പ്രവർത്തനക്ഷമമാക്കി) എന്നാൽ ഭാവിയിലെ ഒരു പ്രധാന പതിപ്പിൽ നീക്കം ചെയ്യപ്പെടും.
  • periodicUseForegroundService: bool (Default: false) ഇടയ്ക്കിടെ ഉണർന്നിരിക്കുമ്പോൾ സ്ഥിരമായ അറിയിപ്പ് നിർബന്ധമാക്കുന്നു.
  • periodicUseExactAlarms: bool (Default: false) കൃത്യമായ ഉണർവിനായി AlarmManager ഉപയോഗിക്കുന്നു (SCHEDULE_EXACT_ALARM മാനിഫെസ്റ്റ് അനുമതി ആവശ്യമാണ്). കൃത്യമായ അലാറങ്ങൾ കാണുക 📖
  • scheduleUseAlarmManager: bool (Default: false) CRON ഷെഡ്യൂളിങ്ങിന് കൃത്യമായ അലാറങ്ങൾ ഉപയോഗിക്കുന്നു.

ForegroundServiceConfig (config.android.foregroundService)

  • enabled: bool (Default: true) Android 13+ ൽ POST_NOTIFICATIONS അനുമതി ആവശ്യമാണ്. അറിയിപ്പ് കാണുക 📖
  • channelId: String (Default: 'tracelet_channel')
  • channelName: String (Default: 'Tracelet')
  • notificationTitle: String (Default: 'Tracelet')
  • notificationText: String (Default: 'Tracking location in background')
  • notificationColor: String? (Default: null) ചെറിയ ഐക്കൺ പശ്ചാത്തലത്തിനുള്ള ഹെക്സ് വർണ്ണം.
  • notificationSmallIcon: String? (Default: null) നിങ്ങളുടെ res/drawable ഫോൾഡറിലെ വെള്ള-മാത്രം PNG-യുടെ പേര്.
  • notificationLargeIcon: String? (Default: null)
  • notificationPriority: NotificationPriority (Default: NotificationPriority.defaultPriority)
  • notificationOngoing: bool (Default: true)
  • showNotificationOnPauseOnly: bool (Default: false) ആപ്പ് സ്ക്രീനിൽ ആയിരിക്കുമ്പോൾ അറിയിപ്പ് മറയ്ക്കുന്നു. app.stopOnTerminate false ആയിരിക്കുമ്പോൾ അവഗണിക്കപ്പെട്ടു — അത് മറയ്ക്കുന്നത് ഫോർഗ്രൗണ്ട് സേവനത്തെ തരംതാഴ്ത്തുന്നു, കൂടാതെ ആ വിൻഡോയിലെ സമീപകാലങ്ങളിൽ നിന്നുള്ള ഒരു സ്വൈപ്പ് പ്രക്രിയയെ നശിപ്പിക്കുന്നു (#378 ). start()-ൽ ഒരിക്കൽ അസാധുവാക്കൽ ലോഗിൻ ചെയ്‌തു. വിജ്ഞാപനം മറയ്ക്കുന്നത് കാണുക 📖
  • actions: List<String> (Default: [])
  • notificationStartedAt: int? (Default: null) എപോച്ച് മില്ലിസെക്കൻഡ് (മതിൽ ക്ലോക്ക്) കഴിഞ്ഞ ടൈമർ കണക്കാക്കുന്നത്. notificationShowTimer true ആയിരിക്കുമ്പോൾ മാത്രം റെൻഡർ ചെയ്യുന്നു. ഓരോ തവണയും അറിയിപ്പ് പോസ്റ്റുചെയ്യുമ്പോൾ ഭാവിയിലെ ഒരു മൂല്യം നിലവിലെ സമയവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു, അതിനാൽ ഒരു ഉപകരണ ക്ലോക്ക് തിരുത്തൽ സ്വയം സുഖപ്പെടുത്തുന്നു. ഇലാപ്‌സ്ഡ് ടൈമർ കാണുക 📖
  • notificationShowTimer: bool (Default: false) notificationStartedAt-ൽ നിന്നുള്ള ഒരു സ്വയം-ടിക്കിംഗ് കൗണ്ട്-അപ്പ് ക്ലോക്ക് കാണിക്കുന്നു. നിങ്ങളുടെ ആപ്പിൽ നിന്ന് റീപോസ്‌റ്റുകളില്ലാതെ ആൻഡ്രോയിഡ് അത് മുന്നോട്ട് കൊണ്ടുപോകുന്നു. notificationStartedAt ഇല്ലെങ്കിൽ ടൈമറൊന്നും കാണിക്കില്ല.
  • notificationOnlyAlertOnce: bool (Default: false) അറിയിപ്പിൻ്റെ ആദ്യ പോസ്റ്റിൽ മാത്രം ഉപകരണത്തെ അലേർട്ട് ചെയ്യുന്നു, അതിനാൽ പിന്നീടുള്ള ഉള്ളടക്ക അപ്‌ഡേറ്റുകൾ നിശബ്ദമാണ്. ടൈമറുകൾ മാത്രമല്ല, ട്രാക്ക് ചെയ്യുമ്പോൾ ടെക്‌സ്‌റ്റ് മാറുന്ന ഏത് അറിയിപ്പിനും ഉപയോഗപ്രദമാണ്. നിശബ്ദമായി ടെക്സ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുന്നത് കാണുക 📖

🔔 ട്രാക്കിംഗ് നിലവിൽ പ്രവർത്തിക്കുമ്പോൾ ഒരു അറിയിപ്പ് മാറ്റം പ്രയോഗിക്കുന്നതിന്, setConfig()-ന് ശേഷം Tracelet.updateNotification() എന്ന് വിളിക്കുക. പൈപ്പ്ലൈൻ പുനരാരംഭിക്കാതെ തന്നെ ഇത് തത്സമയ അറിയിപ്പ് റീപോസ്റ്റ് ചെയ്യുന്നു (v3.6.8+). iOS-ൽ അത് പ്രവർത്തിക്കുന്ന ലൈവ് ആക്റ്റിവിറ്റി പുതുക്കുന്നു; വെബിൽ ഇതൊരു നോ-ഓപ് ആണ്.


🍎 IosConfig (config.ios)

iOS നിർദ്ദിഷ്ട OS നിയന്ത്രണങ്ങൾ. iOS സ്റ്റോറി കാണുക 📖

  • activityType: LocationActivityType (Default: LocationActivityType.other) നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് iOS-നോട് പറയുന്നു (ഉദാ. fitness, navigation) അതിനാൽ ട്രാക്കിംഗ് എപ്പോൾ താൽക്കാലികമായി നിർത്തണമെന്ന് അതിന് അറിയാം.
  • useSignificantChangesOnly: bool (Default: false) പൂർണ്ണമായും സെൽ-ടവർ കൈമാറ്റങ്ങളെ ആശ്രയിക്കുന്നു. പൂജ്യത്തിനടുത്തുള്ള ബാറ്ററി ചോർച്ച.
  • showsBackgroundLocationIndicator: bool (Default: false) ബ്ലൂ പിൽ ഇൻഡിക്കേറ്റർ കാണിക്കുന്നു. location Xcode ശേഷി ആവശ്യമാണ്. നീല ഗുളിക കാണുക 📖
  • pausesLocationUpdatesAutomatically: bool (Default: false) ഉപയോക്താവ് കുറച്ച് സമയത്തേക്ക് നീങ്ങിയില്ലെങ്കിൽ GPS ചിപ്പ് ഇല്ലാതാക്കാൻ iOS-നെ അനുവദിക്കുന്നു.
  • locationAuthorizationRequest: LocationAuthorizationRequest (Default: always) ഏത് അനുമതിയാണ് അഭ്യർത്ഥിക്കേണ്ടത്.
  • disableLocationAuthorizationAlert: bool (Default: false) “ഉപയോഗത്തിലായിരിക്കുമ്പോൾ” മാത്രം അഭ്യർത്ഥിച്ചാൽ “എപ്പോഴും അനുവദിക്കുക” എന്ന് ആവശ്യപ്പെടുന്നതിൽ നിന്ന് OS-നെ തടയുന്നു.
  • preventSuspend: bool (Default: false) ആപ്പ് 24/7 സജീവമായി നിലനിർത്താൻ നിശബ്ദ ഓഡിയോ പ്ലേ ചെയ്യുന്നു. audio Xcode ശേഷി ആവശ്യമാണ്. സസ്പെൻഡ് തടയുക 📖
  • useBackgroundActivitySession: bool (Default: false) “ഉപയോഗത്തിലായിരിക്കുമ്പോൾ” മാത്രം അംഗീകാരമുള്ള പശ്ചാത്തല ലൊക്കേഷൻ സെഷൻ നിലനിർത്താൻ CLBackgroundActivitySession (iOS 17+) ഉപയോഗിക്കുന്നു. ഇത് പരമ്പരാഗത നീല ഗുളികയെ ഡൈനാമിക് ഐലൻഡ് സൂചകം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ശ്രദ്ധിക്കുക: പശ്ചാത്തല ലൊക്കേഷൻ ആവശ്യമായി വരുന്നത് എന്തുകൊണ്ട് ഉപയോക്താക്കൾക്ക് വ്യക്തമായ വിശദീകരണം നൽകാൻ Apple ആപ്പ് സ്റ്റോർ മാർഗ്ഗനിർദ്ദേശങ്ങൾക്ക് ഇത് ഉപയോഗിക്കുന്ന ആപ്പുകൾ ആവശ്യമാണ്.
  • liveActivityConfig: LiveActivityConfig? (Default: null) ട്രാക്കുചെയ്യുമ്പോൾ ഒരു ലോക്ക് സ്‌ക്രീൻ / ഡൈനാമിക് ഐലൻഡ് ലൈവ് ആക്‌റ്റിവിറ്റി തിരഞ്ഞെടുക്കുക (iOS 16.1+, ഒരു വിജറ്റ് വിപുലീകരണം ആവശ്യമാണ്). title, body എന്നിവ എടുക്കുന്നു. തത്സമയ പ്രവർത്തനങ്ങൾ കാണുക 📖. ഇത് റൺടൈമിൽ Tracelet.updateNotification() (v3.6.8+) ഉപയോഗിച്ച് പുതുക്കുക.

ലൈവ് ആക്റ്റിവിറ്റി കോൺഫിഗറേഷൻ (config.ios.liveActivityConfig)

  • title: String (ആവശ്യമാണ്) സ്റ്റാറ്റിക് തലക്കെട്ട്. ഒരു പ്രവർത്തനം പ്രവർത്തിക്കുമ്പോൾ ActivityKit ആട്രിബ്യൂട്ടുകൾ മാറ്റമില്ലാത്തതാണ്, അതിനാൽ അടുത്ത തവണ ആരംഭിക്കുമ്പോൾ ഒരു മാറ്റം ബാധകമാകും.

  • body: String (ആവശ്യമാണ്) ചലനാത്മക സ്റ്റാറ്റസ് ലൈൻ, updateNotification() വഴി അപ്‌ഡേറ്റ് ചെയ്‌തു.

  • startedAt: int? (Default: null) എപോച്ച് മില്ലിസെക്കൻഡ് (മതിൽ ക്ലോക്ക്) കഴിഞ്ഞ ടൈമർ കണക്കാക്കുന്നത്. showTimer true ആയിരിക്കുമ്പോൾ മാത്രം റെൻഡർ ചെയ്യുന്നു. ഇലാപ്‌സ്ഡ് ടൈമർ കാണുക 📖

  • showTimer: bool (Default: false) Text(timerInterval:) ഉപയോഗിച്ച് startedAt-ൽ നിന്ന് സ്വയം-ടിക്കിംഗ് കൗണ്ട്-അപ്പ് ക്ലോക്ക് റെൻഡർ ചെയ്യുന്നു. നിങ്ങളുടെ ആപ്പിൽ നിന്ന് അപ്‌ഡേറ്റുകളൊന്നും കൂടാതെ iOS അത് മുന്നോട്ട് കൊണ്ടുപോകുന്നു. startedAt ഇല്ലെങ്കിൽ ടൈമറൊന്നും കാണിക്കില്ല.

    TraceletActivityAttributes.ContentState-ൻ്റെ സ്വന്തം പകർപ്പ് startedAt, showTimer എന്നിവ പ്രഖ്യാപിച്ചാൽ മാത്രമേ ഒരു ഇഷ്‌ടാനുസൃത വിജറ്റ് വിപുലീകരണം ടൈമർ റെൻഡർ ചെയ്യുകയുള്ളൂ. ഈ ഫീൽഡുകൾ നിലവിലുണ്ടാകുന്നതിന് മുമ്പ് എഴുതിയ വിപുലീകരണങ്ങൾ പ്രവർത്തിക്കുന്നു - അധിക മൂല്യങ്ങൾ അവഗണിക്കപ്പെടുന്നു - എന്നാൽ നിങ്ങൾ സ്ട്രക്‌റ്റ് അപ്‌ഡേറ്റ് ചെയ്യുന്നതുവരെ ക്ലോക്ക് കാണിക്കില്ല. അപ്ഡേറ്റ് ചെയ്ത സ്നിപ്പറ്റ് കാണുക 📖


📍 GeofenceConfig (config.geofence)

ക്രോസ്-പ്ലാറ്റ്ഫോം ജിയോഫെൻസിംഗ് സ്വഭാവം (iOS + Android).

  • geofenceModeHighAccuracy: bool (Default: false) ജിയോഫെൻസ് ട്രാൻസിഷനുകൾ എങ്ങനെ കണ്ടെത്തുന്നു എന്നത് നിയന്ത്രിക്കുന്നു:

    • false (സ്ഥിരസ്ഥിതി) — OS റീജിയൻ-മോണിറ്ററിംഗ് സേവനം ഉപയോഗിക്കുന്നു. കുറഞ്ഞ പവർ, iOS ബ്ലൂ ഇൻഡിക്കേറ്റർ ഇല്ല, എന്നാൽ OS ഒരു പ്രായോഗിക മിനിമം റേഡിയസ് (~100 m) നടപ്പിലാക്കുന്നു, ചെറിയ അല്ലെങ്കിൽ EXIT സംക്രമണങ്ങൾ വിശ്വസനീയമല്ല.
    • trueതുടർച്ചയായ GPS-ൽ നിന്ന് ആപ്പിലെ സംക്രമണങ്ങൾ വിലയിരുത്തുന്നു. ഉയർന്ന ബാറ്ററി ഉപയോഗത്തിൻ്റെ ചെലവിൽ ഇറുകിയ റേഡിയേയും (ഉദാ. 5-50 മീ) എക്‌സിറ്റ് ഇവൻ്റുകളും വിശ്വസനീയമാക്കുന്നു, കൂടാതെ - iOS-ൽ - സിസ്റ്റം “ഉപയോഗത്തിലുള്ള സ്ഥാനം” (നീല) സ്റ്റാറ്റസ്-ബാർ ഇൻഡിക്കേറ്റർ (തുടർച്ചയായ GPS അത് നിർബന്ധിതമാക്കുന്നു). നീല ഗുളിക കാണുക 📖

    ഇത് ഒഴിവാക്കിയ AndroidConfig.geofenceModeHighAccuracy നെ അസാധുവാക്കുന്നു; true ആണെങ്കിൽ, ഉയർന്ന കൃത്യത മോഡ് പ്രവർത്തനക്ഷമമാക്കും.

  • geofenceInitialTrigger: bool (Default: true) രജിസ്ട്രേഷനിൽ ജിയോഫെൻസ് അവസ്ഥ വിലയിരുത്തുക.

  • geofenceInitialTriggerEntry: bool (Default: true) രജിസ്റ്റർ ചെയ്യുമ്പോൾ ഉപകരണം ഇതിനകം ജിയോഫെൻസിനുള്ളിലാണെങ്കിൽ ഉടൻ തന്നെ ഒരു ENTER ഫയർ ചെയ്യുക.

  • geofenceProximityRadius: int (Default: 1000) പ്രോക്‌സിമിറ്റി അധിഷ്‌ഠിത ലോഡിംഗിനുള്ള റേഡിയസ് (മീറ്റർ) — ഈ ദൂരത്തിനുള്ളിലെ ജിയോഫെൻസുകൾ മാത്രമേ OS-ൽ സജീവമായി രജിസ്റ്റർ ചെയ്തിട്ടുള്ളൂ (iOS 20-മേഖലാ പരിധിയേക്കാൾ കൂടുതൽ നിയന്ത്രിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു).

  • geofenceExitAccuracyMax: int (Default: -1) ഉയർന്ന കൃത്യത മോഡിൽ കൃത്യത-അവബോധമുള്ള എക്‌സിറ്റ് ഗേറ്റിംഗ് ട്യൂൺ ചെയ്യുന്നു (സ്റ്റാൻഡേർഡ് മോഡിൽ ഫലമില്ല). ഒരു വൃത്താകൃതിയിലുള്ള ജിയോഫെൻസ്, മുഴുവൻ ജിപിഎസ് പിശക് വൃത്തവും വേലി മായ്‌ച്ചുകഴിഞ്ഞാൽ മാത്രമേ പുറത്തുകടക്കൂ (distance - accuracy > radius + buffer), ഇത് ഒരു ചെറിയ വേലിക്കുള്ളിൽ ഒരു ഉപകരണം നിശ്ചലമായി ഇരിക്കുമ്പോൾ ഒരു ഹൈ-ഡ്രിഫ്റ്റ് ഫിക്സിനെ തെറ്റായ എക്‌സിറ്റിൽ നിന്ന് തടയുന്നു - ഏകദേശം GPS അനിശ്ചിതത്വത്താൽ യഥാർത്ഥ എക്‌സിറ്റ് വൈകുന്നതിന്.

    • -1 (സ്ഥിരസ്ഥിതി) - പൂർണ്ണ ഗേറ്റിംഗ്; തെറ്റായ എക്സിറ്റുകളെ ഏറ്റവും പ്രതിരോധിക്കും.
    • 0 - ഗേറ്റിംഗ് പ്രവർത്തനരഹിതമാക്കി; വേഗമേറിയ എക്സിറ്റ്, എന്നാൽ ഡ്രിഫ്റ്റ് സാധ്യത (പ്രീ-ഫിക്സ് സ്വഭാവം).
    • N > 0 - N മീറ്ററിലേക്കുള്ള ക്ലാമ്പ് കൃത്യത; N വരെയുള്ള ഡ്രിഫ്റ്റ് ആഗിരണം ചെയ്യുന്നു, അതേസമയം ഏറ്റവും മോശമായ എക്സിറ്റ് കാലതാമസം ~N മീറ്ററിലേക്ക് ബന്ധിപ്പിക്കുന്നു. GPS ഡ്രിഫ്റ്റും തെറ്റായ എക്സിറ്റും കാണുക 📖

📡 HttpConfig (config.http)

നെറ്റ്‌വർക്ക് സിൻക്രൊണൈസേഷൻ എഞ്ചിൻ നിയന്ത്രിക്കുന്നു. സമന്വയ സ്റ്റോറി കാണുക 📖

  • url: String? (Default: null) നിങ്ങളുടെ ബാക്കെൻഡ് എൻഡ് പോയിൻ്റ്.
  • method: HttpMethod (Default: HttpMethod.post)
  • headers: Map<String, String>? (Default: null) ഇഷ്‌ടാനുസൃത ഓത്ത് തലക്കെട്ടുകൾ. ഡൈനാമിക് JWT റൊട്ടേഷനായി, കോൾബാക്കുകൾ കാണുക 📖
  • params: Map<String, Object?>? (Default: null)
  • extras: Map<String, Object?>? (Default: null) എല്ലാ ലൊക്കേഷൻ പേലോഡിലേക്കും സ്റ്റാറ്റിക് JSON ഡാറ്റ കുത്തിവച്ചിരിക്കുന്നു.
  • httpRootProperty: String? (Default: 'location') JSON റൂട്ട് നോഡ്.
  • autoSync: bool (Default: true) സ്വയമേവ അപ്‌ലോഡ് ചെയ്യുന്നു. തെറ്റാണെങ്കിൽ, നിങ്ങൾ Tracelet.sync() എന്ന് വിളിക്കണം.
  • batchSync: bool (Default: false) 1-ബൈ-1-ന് പകരം ലൊക്കേഷനുകളുടെ അറേകൾ അപ്‌ലോഡ് ചെയ്യുന്നു.
  • maxBatchSize: int (Default: 250)
  • autoSyncThreshold: int (Default: 0) ഒരു സമന്വയം പ്രവർത്തനക്ഷമമാക്കുന്നതിന് മുമ്പ് ആവശ്യമായ SQLite റെക്കോർഡുകളുടെ എണ്ണം.
  • autoSyncDelay: int (Default: 10000) ഒരു ലൊക്കേഷൻ എത്തിയതിന് ശേഷം സമന്വയിപ്പിക്കുന്നതിന് മുമ്പ് കാത്തിരിക്കാൻ Ms.
  • syncInterval: int (Default: 0) ഓഫ്‌ലൈൻ ക്യൂവിൻ്റെ ആവർത്തിച്ചുള്ള സമയത്തെ അടിസ്ഥാനമാക്കിയുള്ള ഫ്ലഷുകൾക്കിടയിലുള്ള സെക്കൻഡുകൾ. > 0 ആകുമ്പോൾ, SDK ഈ കാഡൻസിൽ തീർപ്പുകൽപ്പിക്കാത്ത ഏതെങ്കിലും ലൊക്കേഷനുകൾ ഇടയ്‌ക്കിടെ അപ്‌ലോഡ് ചെയ്യുന്നു - പുതിയ ഇൻസെർട്ടുകളിൽ ഫയർ ചെയ്യുന്ന autoSyncDelay ഡീബൗൺസിൽ നിന്ന് സ്വതന്ത്രമായി. എത്ര റെക്കോർഡുകൾ ശേഖരിച്ചിട്ടുണ്ടെങ്കിലും സമയാധിഷ്ഠിത ഫ്ലഷിംഗിന് ഉപയോഗപ്രദമാണ്. 0 ഇടവേള ടൈമർ പ്രവർത്തനരഹിതമാക്കുന്നു.
  • httpTimeout: int (Default: 60000)
  • locationsOrderDirection: LocationOrderDirection (Default: LocationOrderDirection.ascending)
  • disableAutoSyncOnCellular: bool (Default: false) ഉപയോക്തൃ ഡാറ്റ പ്ലാനുകൾ സംരക്ഷിക്കാൻ വൈഫൈയിൽ ആയിരിക്കുമ്പോൾ മാത്രം സമന്വയിപ്പിക്കുന്നു.
  • maxRetries: int (Default: 3)
  • retryBackoffBase: int (Default: 1000)
  • retryBackoffCap: int (Default: 60000)
  • enableDeltaCompression: bool (Default: false) JSON പേലോഡ് വലുപ്പം 80% കുറച്ചുകൊണ്ട് ഡെൽറ്റ കോർഡിനേറ്റുകൾ മാത്രം അയയ്ക്കുന്നു.
  • deltaCoordinatePrecision: int (Default: 5)
  • sslPinningFingerprints: List<String>? (Default: null)
  • sslPinningCertificates: List<String>? (Default: null)
  • syncTelematics: bool (Default: false) നിങ്ങളുടെ ലൊക്കേഷനുകൾക്കൊപ്പം സംഭരിച്ച ഡ്രൈവിംഗ്/ഇംപാക്റ്റ് ഇവൻ്റുകൾ അപ്‌ലോഡ് ചെയ്യുന്നു. ഡിഫോൾട്ടായി ഓഫാണ്, അതിനാൽ നിലവിലുള്ള പേലോഡ് നിങ്ങൾക്ക് താഴെ ഒരിക്കലും മാറില്ല. ടെലിമാറ്റിക്സ് സമന്വയം കാണുക 📖
  • telematicsUrl: String? (Default: null) ടെലിമാറ്റിക്‌സിനെ ലൊക്കേഷൻ പേലോഡിലേക്ക് അറ്റാച്ചുചെയ്യുന്നതിനുപകരം {"telematics": [...]} ആയി സ്വന്തം എൻഡ്‌പോയിൻ്റിലേക്ക് അയയ്ക്കുന്നു. syncTelematics ആവശ്യമാണ്. അറ്റാച്ച് ചെയ്‌ത പാതയിലേക്ക് മടങ്ങാൻ ഒരു ശൂന്യമായ സ്ട്രിംഗ് (null അല്ല) കടന്നുപോകുക - കോൺഫിഗറേഷൻ ലയിപ്പിച്ചു, പകരം വയ്ക്കില്ല.

🏢 എൻ്റർപ്രൈസ് കോൺഫിഗറേഷനുകൾ

AuditConfig (config.audit)

  • enabled: bool (Default: false) ലൊക്കേഷൻ ഹാഷുകളുടെ ഒരു ക്രിപ്റ്റോഗ്രാഫിക്, ടാംപർ പ്രൂഫ് ബ്ലോക്ക്ചെയിൻ സൃഷ്ടിക്കുന്നു.
  • hashAlgorithm: HashAlgorithm (Default: HashAlgorithm.sha256) ചെയിൻ നിലവിൽ എപ്പോഴും SHA-256 ഉപയോഗിക്കുന്നു; മറ്റൊരു അൽഗോരിതം തിരഞ്ഞെടുക്കുന്നത് ഇതുവരെ പ്രയോഗിച്ചിട്ടില്ല.
  • includeExtrasInHash: bool (സ്ഥിരസ്ഥിതി: false) — ⚠️ ഒഴിവാക്കിയത്: നടപ്പിലാക്കിയിട്ടില്ല. ചെയിൻ എല്ലായ്‌പ്പോഴും കോർ ലൊക്കേഷൻ ഫീൽഡുകൾ മാത്രം ഹാഷ് ചെയ്യുന്നു, അതിനാൽ ഈ ഫ്ലാഗ് ഒന്നും മാറ്റില്ല. ഇത് വയറിംഗ് ചെയ്യുന്നത് മുമ്പ് കണക്കാക്കിയ എല്ലാ ശൃംഖലയും അസാധുവാക്കും, അതിനാൽ ഇതിന് ഒരു പതിപ്പ് ആവശ്യമാണ് നിശ്ശബ്ദമായ പെരുമാറ്റ മാറ്റത്തേക്കാൾ ചെയിൻ മൈഗ്രേഷൻ.

SecurityConfig (config.security)

PrivacyZoneConfig (config.privacy)

AttestationConfig (config.attestation)

  • enabled: bool (Default: false) ഉപകരണം യഥാർത്ഥമാണെന്നും എമുലേറ്റർ അല്ലെന്നും ക്രിപ്റ്റോഗ്രാഫിക്കായി തെളിയിക്കാൻ Play ഇൻ്റഗ്രിറ്റി (ആൻഡ്രോയിഡ്), ആപ്പ് അറ്റസ്റ്റ് (iOS) എന്നിവ ഉപയോഗിക്കുന്നു.
  • refreshInterval: int (Default: 86400)
  • verificationUrl: String? (സ്ഥിരസ്ഥിതി: null) — ⚠️ ഒഴിവാക്കിയത്: നടപ്പിലാക്കിയിട്ടില്ല. സെർവർ സൈഡ് സ്ഥിരീകരണത്തിനായി ഒന്നും സാക്ഷ്യപ്പെടുത്തൽ ടോക്കൺ എവിടെയും അയയ്‌ക്കുന്നില്ല. ടോക്കൺ ആണ് സമന്വയ പേലോഡുകളിൽ ഇതിനകം ഉൾപ്പെടുത്തിയിട്ടുണ്ട് - പകരം നിങ്ങളുടെ സ്വന്തം ബാക്കെൻഡിൽ ഇത് പരിശോധിക്കുക.