{"repo":"thesurajkamble/cozy-tracker","free":true,"listed":false,"github":"https://github.com/thesurajkamble/cozy-tracker","clone":"git clone https://github.com/thesurajkamble/cozy-tracker.git","description":"Cozy [Compose Lazy-List ] Tracker, a comprehensive Android Compose library to track LazyColumn and LazyRow view time with indepth dwelve time, consolidated time, first view, last view etc.","language":"Kotlin","stars":13,"topics":["analytics","android","compose","jetpack-compose","lazy-column","lazy-row","lifecycle","cozy-tracker","impressions","lazy-list"],"license":null,"category":"mobile-apps","readme_excerpt":"//Verions below 2.1.1 are not stable. use 2.1.1 and above Cozy Tracker A lightweight, non-intrusive Jetpack Compose library for tracking item visibility and dwell time in LazyColumn and LazyRow . Features - Performance First: All calculations are performed on a background thread, ensuring smooth 60fps scrolling. - Idiomatic API: Integrates seamlessly with Jetpack Compose using a .cozyTrack() modifier. - Type-Safe Events: Provides structured DwellTime and Impression events, not generic maps. - Flexible Configuration: Set global defaults and override them locally for each list. - Automatic Lifecycle Handling: Automatically handles app lifecycle events to ensure data is not lost. Setup 1. Add JitPack repository Add JitPack to your project's settings.gradle.kts file: 2. Add the dependency Add the Cozy Tracker dependency to your module's build.gradle.kts file. Make sure to replace cozy trackerV1.0.1 with the latest release tag. Usage Cozy Tracker works by attaching a modifier to your LazyColumn or LazyRow . 1. Create a LazyListState as you normally would. 2. Apply the .cozyTracker() modifier to your list, passing the listState and the event callbacks you are interested in ( onDwellTime or onImpression ). 3. (Optional) Provide a local CozyConfig to override default settings for a specific list. Example A Note on Keys Providing a stable and unique key for each item in your LazyColumn or LazyRow is mandatory for Cozy Tracker to work correctly. - Why? Cozy Tracker uses this key as the","default_branch":null,"files":null,"tree":[],"storefront":"/r/thesurajkamble","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/thesurajkamble/cozy-tracker/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}