பயன்பாட்டு API
டிபக் செய்ய, பேட்டரி அனுமதிகளை நிர்வகிக்க மற்றும் அடிப்படை வன்பொருள் சென்சார்களை ஆய்வு செய்ய உதவும் சக்திவாய்ந்த பயன்பாட்டு செயல்பாடுகளின் தொகுப்பை ட்ரேஸ்லெட் வெளிப்படுத்துகிறது. இவை Tracelet இல் நேரடியாகக் கிடைக்கும் நிலையான முறைகள்.
1. வன்பொருள் & OS ஆய்வு
சில நேரங்களில் ஆப்ஸ் எந்த வகையான சாதனத்தில் இயங்குகிறது அல்லது வன்பொருள் சில அம்சங்களை ஆதரிக்கிறதா (படி கவுண்டர் போன்றவை) சரியாகத் தெரிந்துகொள்ள வேண்டும்.
சென்சார் கிடைக்கும் தன்மையைப் பெறுகிறது
சாதனத்தில் இயற்பியல் படி கவுண்டர் (பெடோமீட்டர்), முடுக்கமானி அல்லது கைரோஸ்கோப் உள்ளதா எனச் சரிபார்க்கவும்.
final sensors = await tl.Tracelet.getSensors();
print('Has Accelerometer: \${sensors.accelerometer}');
print('Has Gyroscope: \${sensors.gyroscope}');
print('Has Step Counter: \${sensors.stepCounter}');சாதனத் தகவலைப் பெறுதல்
விரிவான OEM சரங்களைப் பெறுங்கள். ஆக்கிரமிப்பு பின்னணி கட்டுப்பாடுகளைக் கொண்ட சீன OEMகளை (Huawei, Xiaomi போன்றவை) அடையாளம் காண இது மிகவும் பயனுள்ளதாக இருக்கும்.
final device = await tl.Tracelet.getDeviceInfo();
print('Manufacturer: \${device.manufacturer}');
print('Model: \${device.model}');
print('OS Version: \${device.version}');2. பவர் & பேட்டரி மேலாண்மை
பின்னணி இருப்பிடத்தின் மிகப்பெரிய எதிரி OS தானே. OS ஆனது தற்போது உங்கள் ஆப்ஸைத் தடுக்கிறதா என்பதைக் கண்டறியும் முறைகளையும், அந்த கட்டுப்பாடுகளை நீக்குமாறு பயனரிடம் கேட்கும் முறைகளையும் ட்ரேஸ்லெட் வழங்குகிறது.
சக்தி சேமிப்பு முறை
பயனர் “குறைந்த ஆற்றல் பயன்முறை” (iOS) அல்லது “பேட்டரி சேவர்” (Android) ஐ இயக்கியுள்ளாரா என்பதைக் கண்டறியவும். இந்த பயன்முறையில், OS ட்ரேஸ்லெட்டை தீவிரமாகக் கொல்லும்.
final isPowerSaving = await tl.Tracelet.isPowerSaveMode;
if (isPowerSaving) {
print('Warning: Battery Saver is ON. Tracking will be degraded.');
}பேட்டரி மேம்படுத்தல் விலக்குகள் (Android)
ஆண்ட்ராய்டில், நம்பகமான பின்னணி கண்காணிப்பை நீங்கள் விரும்பினால், உங்கள் ஆப்ஸை Doze பயன்முறையிலிருந்து விலக்கு அளிக்குமாறு பயனரைக் கேட்க வேண்டும். ட்ரேஸ்லெட் இதற்கு ஒரு ஒருங்கிணைந்த API ஐ வழங்குகிறது.
final isExempt = await tl.Tracelet.isIgnoringBatteryOptimizations();
if (!isExempt) {
// Opens the exact Android settings page to whitelist your app
await tl.Tracelet.openBatterySettings();
}3. ஹெல்த் டாஷ்போர்டு API
கண்காணிப்பு வேலை செய்யவில்லை என்று ஒரு பயனர் புகார் செய்தால், அது ஒரு டஜன் வெவ்வேறு விஷயங்களாக இருக்கலாம்: அவர்கள் ஜிபிஎஸ் மறுத்துவிட்டனர், வைஃபை ஸ்கேனிங்கை முடக்கினர், பவர் சேவ் பயன்முறையில் உள்ளனர்.
டிராக்கிங்கைப் பாதிக்கக்கூடிய ஒவ்வொரு OS அமைப்புகளின் மிகப்பெரிய JSON பேலோடை ட்ரேஸ்லெட் தொகுக்கிறது. பிழைத்திருத்தத்திற்காக இந்த பேலோடை உங்கள் சர்வரில் பதிவேற்றலாம்.
final health = await tl.Tracelet.getSettingsHealth();
// Upload to your server or print to console
print('Health Check: \$health');4. பதிவு & கண்டறிதல்
ட்ரேஸ்லெட் விரிவான கண்டறியும் பதிவுகளை நேரடியாக உள் SQLite தரவுத்தளத்திற்கு எழுதுகிறது (இருப்பிட தரவுத்தளத்திலிருந்து தனியானது). உற்பத்தியில் உள்ள பிழைத்திருத்த சிக்கல்களுக்கு இது விலைமதிப்பற்றது.
பதிவுகளைப் பெறுங்கள்
பதிவுகளை மீட்டெடுக்க இரண்டு வழிகள் உள்ளன, மேலும் குழப்பத்தைத் தவிர்க்க அவற்றுக்கிடையேயான வேறுபாட்டைப் புரிந்துகொள்வது அவசியம்:
1. getLogs(int limit) (கட்டமைக்கப்பட்டது)
தரவுத்தளத்திலிருந்து கட்டமைக்கப்பட்ட List<LogEntry> ஐ வழங்குகிறது. நீங்கள் ஒரு கட்டமைக்கப்பட்ட UI இல் பதிவுகளைக் காண்பிக்க வேண்டும் (டிரேஸ்லெட் டாக்டர் போன்றவை) அல்லது நிரல் ரீதியாக அவற்றைச் செயலாக்க வேண்டும் என்றால் இது சிறந்தது.
// Get the 50 most recent structured log entries
final entries = await tl.Tracelet.getLogs(50);
for (final entry in entries) {
print('[\${entry?.level}] \${entry?.message}');
}2. நாட்ரான்ஸ்0லேட் (மூல சரம்) ஒரு பெரிய சரமாக இணைக்கப்பட்ட பதிவுகளை மீட்டெடுக்கிறது. எல்லாவற்றையும் கன்சோலில் விரைவாக அச்சிட அல்லது உரை கோப்பில் எழுத விரும்பும் போது இது சிறந்தது.
final logsString = await tl.Tracelet.getLog();
print(logsString);
// Or query specific logs as a string
final errorLogsString = await tl.Tracelet.getLog(
tl.SQLQuery(where: "level = 'ERROR'")
);பதிவுகளை அழிக்கிறது
தரவுத்தள வரிசைகளை மீட்டமைக்க, சேமிக்கப்பட்ட அனைத்து கணினி பதிவுகளையும் நீங்கள் அழிக்கலாம்:
await tl.Tracelet.clearLogs();தனிப்பயன் பதிவுகளை எழுதுதல்
உங்கள் சொந்த பயன்பாட்டுப் பதிவுகளை ட்ரேஸ்லெட் பதிவு தரவுத்தளத்தில் நீங்கள் செலுத்தலாம், இதன் மூலம் அனைத்தும் காலவரிசைப்படி இருப்பிட நிகழ்வுகளுடன் சரியாகப் பிணைக்கப்படும்.
await tl.Tracelet.log('INFO', 'User tapped the checkout button');
await tl.Tracelet.log('ERROR', 'Failed to fetch user profile');மின்னஞ்சல் பதிவுகள்
முழு பதிவு தரவுத்தளத்தையும் ஒரு மின்னஞ்சல் இணைப்பில் எளிதாக டம்ப் செய்யவும், இதனால் ஒரு பயனர் அதை உங்கள் ஆதரவு குழுவிற்கு அனுப்பலாம்.
// Opens the native email client with the logs attached
await tl.Tracelet.emailLog('[email protected]');