More in App analytics
- What is the crash-free rate and where do I see it?
- How do I install the Android SDK?
- How do I install the iOS SDK?
- How do I track screen views in my app?
- How do I add TapCub to a Flutter app?
- How do I add TapCub to a React Native app?
- How do I add TapCub to a HarmonyOS app?
- How do I check daily, weekly and monthly active users of my app?
- All guides in this category
Still have a question?
Could not find it? A person reads every message, usually within a few hours on business days.
Chat with usShort answer
No extra code is needed: the SDK adds $app_version to every event from versionName (Android, HarmonyOS) or CFBundleShortVersionString (iOS). Open App analytics › Users › Versions for each version's share of active users, crash count and first-seen date; set appVersion in the config only to override.
Short answer
You do not need extra code: the TapCub SDK adds $app_version to every event, taken from versionName on Android, CFBundleShortVersionString on iOS and versionName on HarmonyOS. Open App analytics › Users › Versions to see each version's share of active users, crash count and first-seen date.
1. Check where the version comes from
| Platform | Default version | Override |
|---|---|---|
| Android | versionName (build versionCode) | appVersion in the config |
| iOS | Info.plist short version | appVersion in the config |
| HarmonyOS | versionName | appVersion in the config |
Override only when your store version differs from the build value, for example when one build ships under two names:
TapCub.preInit(this, TapCubConfig(siteKey = "YOUR_SITE_KEY", appVersion = "2.4.0"))
Keep the format consistent (2.4.0, not v2.4 in one build and 2.4.0 in the next), or one release shows as two rows.
2. Read the versions report
Each row is a version with its platform, share of active users, crash count and first-seen date. The stacked chart shows the top 8 versions and groups the rest as Other. The release cards on App overview highlight only the newest version per platform; the full list is on this page.
Sample: a week after release, 2.4.0 holds 46% of active users, 2.3.2 holds 38%, and older versions hold the remaining 16%.
3. Compare stability by version
Click a version row to add it as a filter on the current page. For crash detail, open App analytics › Quality & attribution › Stability; crash-free share is explained in crash-free rate. Rising crashes on the newest version while older ones stay flat point at the release, not the device mix.
Switching reports from the sidebar keeps only the platform and single-app filters; the version filter does not carry over, so add it again on the next report.
4. Channels
App analytics › Users › Channels groups users by the $channel value on events (not the media source from an attribution callback). Events without it fall under (no channel).
Common problems
| Symptom | Cause | Fix |
|---|---|---|
| One release shows as two versions | Different version strings across builds | Use one format, or set appVersion |
| Version filter disappears | Sidebar switches keep only platform and app | Add the filter again |
| No Versions menu | The project is a mini program | Mini programs use scenes instead |
| App has no data at all | appId does not match the app registered in the console | Fix appId |
See also: App versioning, App redesign.
See also
Did this answer your question?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.