{"id":32267991,"url":"https://github.com/krishak15/step-logger","last_synced_at":"2026-02-21T02:02:01.896Z","repository":{"id":295544931,"uuid":"989686599","full_name":"Krishak15/step-logger","owner":"Krishak15","description":"Easy to use step tracker plugin with session history and built-in background support","archived":false,"fork":false,"pushed_at":"2025-07-12T06:29:32.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-22T22:13:39.386Z","etag":null,"topics":["flutter","flutter-plugin","pedometer"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Krishak15.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-24T16:05:15.000Z","updated_at":"2025-07-12T06:29:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"64ddd45f-afe2-4fa1-8823-0c733c0f8af9","html_url":"https://github.com/Krishak15/step-logger","commit_stats":null,"previous_names":["krishak15/step-logger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Krishak15/step-logger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krishak15%2Fstep-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krishak15%2Fstep-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krishak15%2Fstep-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krishak15%2Fstep-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Krishak15","download_url":"https://codeload.github.com/Krishak15/step-logger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krishak15%2Fstep-logger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29671513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T00:11:43.526Z","status":"online","status_checked_at":"2026-02-21T02:00:07.432Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-plugin","pedometer"],"created_at":"2025-10-22T22:06:19.686Z","updated_at":"2026-02-21T02:02:01.890Z","avatar_url":"https://github.com/Krishak15.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Step Logger 🚶‍♂️\n\n![Version](https://img.shields.io/badge/pub-v1.0.0--beta.2-blue)\n![Platforms](https://img.shields.io/badge/platforms-Android%20%7C%20iOS-blue)\n\nA Flutter plugin for cross-platform step tracking with background support.\n\n## Features\n\n- 📊 Real-time step counting \n- 🔄 Background service for continuous tracking (Android)\n- 📅 Historical session data storage\n- 🔔 Customizable notification\n- 📱 Works in foreground and background\n- 🔄 Automatic session recovery after app kills\n\n## Platform Support\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eFeature\u003c/th\u003e\n    \u003cth\u003eAndroid\u003c/th\u003e\n    \u003cth\u003eiOS\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eReal-time steps\u003c/td\u003e\n    \u003ctd\u003e✅\u003c/td\u003e\n    \u003ctd\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eBackground tracking\u003c/td\u003e\n    \u003ctd\u003e✅\u003c/td\u003e\n    \u003ctd\u003e⚠️ Limited\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eSession history\u003c/td\u003e\n    \u003ctd\u003e✅\u003c/td\u003e\n    \u003ctd\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eStep accuracy\u003c/td\u003e\n    \u003ctd\u003eHigh\u003c/td\u003e\n    \u003ctd\u003eHigh\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eBattery impact\u003c/td\u003e\n    \u003ctd\u003eModerate\u003c/td\u003e\n    \u003ctd\u003eLow\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Android Setup\n### Permissions ⚙️\n\nAdd to ```android/app/src/main/AndroidManifest.xml```:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.ACTIVITY_RECOGNITION\" /\u003e\n\u003cuses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" /\u003e\n\u003cuses-permission android:name=\"android.permission.POST_NOTIFICATIONS\" /\u003e\n\u003cuses-permission android:name=\"android.permission.BODY_SENSORS\" /\u003e\n\u003cuses-permission android:name=\"android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\" /\u003e\n\n\u003c!-- For Android 9+ background execution --\u003e\n\u003cuses-permission android:name=\"android.permission.FOREGROUND_SERVICE_HEALTH\" /\u003e\n```\n\n## Service declaration\n\n```xml\n   \u003cservice\n      android:name=\"com.transistorsoft.flutter.backgroundfetch.BackgroundFetchService\"\n      android:permission=\"android.permission.BIND_JOB_SERVICE\"\n      android:exported=\"true\" /\u003e\n\n  \u003cservice\n      android:name=\"id.flutter.flutter_background_service.BackgroundService\"\n      android:foregroundServiceType=\"health\"/\u003e\n\n  \u003cservice\n      android:name=\"com.your.example_app.ForegroundService\"\n      android:enabled=\"true\"\n      android:exported=\"false\" /\u003e                  \n```\n\n## iOS Setup\n\n### Requirements\n\n1. **Add HealthKit entitlement:**\n   - In Xcode, go to your target's **Signing \u0026 Capabilities**.\n   - Click \"+\" and add **HealthKit**.\n\n2. **Add these entries to your `Info.plist`:**\n\n```xml\n\u003ckey\u003eNSHealthShareUsageDescription\u003c/key\u003e\n\u003cstring\u003eWe need access to HealthKit to track your steps\u003c/string\u003e\n\u003ckey\u003eNSHealthUpdateUsageDescription\u003c/key\u003e\n\u003cstring\u003eWe need access to HealthKit to save your step data\u003c/string\u003e\n\u003ckey\u003eUIBackgroundModes\u003c/key\u003e\n\u003carray\u003e\n  \u003cstring\u003efetch\u003c/string\u003e\n  \u003cstring\u003ehealthkit\u003c/string\u003e\n\u003c/array\u003e\n\n\u003c!-- Notification--\u003e\n\u003ckey\u003eNSUserNotificationAlertStyle\u003c/key\u003e\n\u003cstring\u003ealert\u003c/string\u003e\n```\n\n## iOS Limitations  \n⚠️ **Important iOS Considerations**\n\n1. **Background step updates require explicit user permission.**\n2. **Steps are only recorded when:**\n   - The app is in the foreground.\n   - The user has HealthKit background delivery enabled.\n   - The user opens the app periodically (to sync latest data).\n     \n3. **Step data accuracy depends on the device**\n     \n4. **Sessions interrupted by app kills will:**\n   - Persist tracking state.\n   - Recover steps when the app relaunches.\n   - Auto-stop sessions older than 12 hours.\n\n\u003e **Note:** iOS does not support true background step tracking services like Android. The plugin uses HealthKit background delivery as a workaround, which depends on system scheduling and user permissions. This means background updates may be delayed or less frequent compared to Android, and step counts are calculated when the app is brought to the foreground.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishak15%2Fstep-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrishak15%2Fstep-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishak15%2Fstep-logger/lists"}