KAnalytics¶
KAnalytics is a powerful Kotlin Multiplatform library that streamlines analytics integration across Android and iOS applications. It provides a unified, type safe API for tracking user events while simplifying cross-platform analytics management. It also eliminates vendor lock-in as analytics providers are pluggable and can be easily swapped out.
Motivation¶
The primary motivation behind KAnalytics is to provide a simple and efficient way to integrate analytics tracking into your applications. By using a shared codebase, developers can ensure consistency and reduce the effort required to implement analytics tracking for multiple platforms.
It comes with KAnalytics Viewer a companion app that helps developers and QA teams manage analytics events in their applications. Its user friendly interface simplifies event viewing, searching, and debugging. Very useful for QA teams to easily verify the events being sent.
Features¶
KAnalytics is a flexible analytics library that allows you to:
- Multi-Tracker Support: Send events to multiple analytics services simultaneously.
- Interceptor: Intercept and modify events before they are sent.
- Multiplatform Support: Works on both Android and iOS platforms.
- Viewer: View and debug analytics events during development.
- Shortcuts or Quick Actions: Allows you to launch KAnalytics Viewer via app shortcuts on Android and Quick action on iOS.
Screenshots¶
Android | iOS |
---|---|
Platform Support¶
Platform | Supported |
---|---|
Android | ✅ |
iOS | ✅ |
Credits¶
This project was highly inspired by the following projects:
- OkHttp - For the interceptor pattern implementation
- Chucker - For the kanalytics viewer implementation
- Inspektify - Ideas for the kanalytics viewer implementation
- Inspektor - Ideas for the kanalytics viewer implementation
License¶
Copyright 2025 Addhen Ltd and the KAnalytics project contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.