SensorsAnalytics Android SDK: integration choices and limits
神策数据官方 Android 埋点 SDK,是一款轻量级用于 Android 端的数据采集埋点 SDK,包含代码埋点、全埋点、点击图和可视化全埋点功能。全埋点通过配合神策官方 Android 埋点插件来实现,神策数据官方 Android 埋点插件使用字节码插桩(ASM)的技术实现 Android 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)。
At a glance
- What is it?
- SensorsAnalytics SDK is a Java-based Android event collection library for applications using the Sensors Data platform. It supports manual tracking, automatic instrumentation, click maps, and visual event tracking, but the README delegates detailed setup to external documentation.
- Who is it for?
- Application teams already using Sensors Data should evaluate this SDK when they need Android collection spanning manual and instrumented tracking. Teams needing a self-contained Gradle tutorial should consult the external integration guide first, then verify module selection, Android 4.0 compatibility, instrumentation coverage, licensing, and upgrade impact before adoption.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 14 days ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What SensorsAnalytics SDK Collects
SensorsAnalytics SDK targets Android applications that send behavioral data to Sensors Data for analysis. The repository describes four collection approaches: code-based event tracking, automatic or "full" tracking, App click maps, and visual full tracking. This makes the project relevant to product analytics, user behavior analysis, and operational reporting teams, but it is not a general-purpose HTTP client or an application crash reporter.
The choice of collection method affects how much instrumentation work belongs in application source code. Code-based tracking leaves event definitions with the application developer. Automatic tracking moves part of that work into an official Android instrumentation plugin. Click maps and visual full tracking appear as separate supported modes rather than implying that every feature is included in the same basic integration. The README does not document their configuration, privacy controls, supported view types, or event schemas.
The stated minimum platform is Android 4.0. The repository identifies v6.9.8 as its latest release and lists v6.2.8, v5.4.4, v5.0.2, and v4.0.9 as recommended versions. It does not give a compatibility matrix between Android application build systems, Gradle versions, Java versions, or individual SDK releases. An engineering team must therefore treat its own build environment as something to verify in the external integration guide.
ASM Instrumentation in SensorsAnalytics SDK
The automatic tracking mode depends on a separate official Sensors Data Android instrumentation plugin. The repository description states that this plugin uses ASM bytecode instrumentation to implement Android full tracking, which it also calls no-instrumentation, no-code, traceless, or automatic tracking. In practical terms, the listed `module_autoTrack/` directory indicates that automatic tracking has a dedicated module rather than existing only as example code.
Automatic instrumentation reduces the amount of tracking code that developers place directly in an application. However, the README does not describe which Android lifecycle calls, controls, or screen transitions the plugin records, nor does it explain how it identifies pages and clicks. It also does not document event deduplication, selector matching, handling of dynamically generated views, or exclusions for sensitive screens. Those omissions matter because an apparently small bytecode change can affect application behavior or produce event coverage that differs from a manually specified tracking plan.
The repository layout also contains `module_visual/`, `module_encrypt/`, `module_exposure/`, `module_push/`, `module_webview/`, `module_advert/`, and separate resource modules for Chinese and English. Based on this layout, teams can distinguish several concerns at build time. The README, however, does not state which modules are mandatory, which are optional, or whether selecting them creates binary-size, dependency, or upgrade obligations.
Installing SensorsAnalytics SDK Through Its Android Guide
The README does not provide a complete Gradle dependency declaration, Maven repository entry, initialization snippet, or first-event example. Instead, it directs users to the Sensors Data Android SDK integration documentation at `http://www.sensorsdata.cn/manual/android_sdk.html`. For that reason, this article cannot provide a confirmed repository block or Java initialization example without inventing configuration details.
A first integration should begin at that official guide, select the collection mode that matches the application, and confirm that the project still supports Android 4.0 or later. The reader should expect to verify the exact artifact names, module dependencies, initialization API, and server configuration there. The GitHub repository also contains `gradlew`, `gradlew.bat`, `settings.gradle`, `build.gradle`, and a `demo/`, so its source tree includes Gradle and sample material, but the README does not say that the demo is a supported quick-start application or document how to run it.
The version choice should also be recorded. Selecting an older recommended version may affect available modules and Android build compatibility, while selecting `v6.9.8` means adopting the newest release shown by the repository. The README does not supply migration notes between these lines, so upgrading cannot be treated as a drop-in change without checking the relevant release documentation.
Repository Modules and Integration Scope
The top-level structure separates the SDK into more than a single Android library. `SensorsAnalyticsSDK/`, `module_common/`, and `module_core/` appear to provide the main code, while `module_autoTrack/` corresponds to automatic tracking. Additional directories indicate dedicated handling for encryption, exposure, push, WebView, advertising, visual tracking, and localized resources.
This modular layout is useful for readers who need to understand which concern belongs to which source area. It also means that adoption may involve more than adding one dependency. The README does not publish a dependency map, transitive dependency list, minimum Gradle configuration, or explanation of whether the demo enables every module. Engineers should not infer module requirements merely from a directory name. The external integration documentation is the source the README explicitly names for that information.
The project is primarily written in Java, which fits the repository's declared implementation language but does not by itself establish support for Kotlin-only APIs or Kotlin Gradle scripts. Likewise, the Android 4.0 requirement identifies a minimum operating-system level, not a complete statement about supported Android API levels, Android Gradle Plugin versions, or current Android Studio releases.
Automatic Tracking Versus Manual Event Definitions
SensorsAnalytics SDK offers a clear distinction between manual tracking and ASM-based automatic tracking, but the README does not provide enough detail to compare their output quality. Manual event tracking gives the application team explicit control over when an event is recorded and which properties accompany it. That control can be useful when business events have precise definitions, such as an action tied to a completed application workflow.
Automatic tracking moves event capture toward plugin-driven bytecode instrumentation. The repository description associates this method with Android full tracking and several no-code labels. Those labels should not be read as a claim that no configuration is needed. The README does not explain rule files, page definitions, event mapping, data filtering, or validation, so the amount of configuration required by the plugin remains unspecified.
A concrete alternative is therefore a different collection workflow: use manual code-based tracking when every event must be defined in source, or use an Android analytics library that does not rely on ASM when bytecode modification is unacceptable. The first approach requires more explicit application code. The second may avoid a particular instrumentation requirement but would not provide Sensors Data-specific integration. This is a useful decision boundary, although the README does not compare resource use or data accuracy between the approaches.
Release Activity and Custom License Constraints
The repository is not archived, and its last push was on 2026-10-09. Releases v6.9.8, v6.9.7, and v6.9.6 were published on 2026-10-09, 2026-08-25, and 2026-08-21 respectively. These dates indicate recent repository and release activity, but they do not establish compatibility for every application build.
GitHub classifies the license as Other and points to a custom `LICENSE` file. The README also directs readers seeking commercial authorization information to the Sensors Data SDK website. This means an engineering team should inspect the actual `LICENSE` file before distribution or deployment. The repository metadata alone is insufficient to determine permitted applications, attribution requirements, redistribution conditions, or whether a separate commercial agreement is required. This review does not interpret the custom license as legal advice.
Upgrade cost is also tied to a choice among several major version lines in the README. Older releases remain listed as recommended versions, which may help teams preserve an existing integration, but no migration guides are included in the README. Before moving from an older major line to `v6.9.8`, verify dependency changes, module requirements, initialization behavior, event compatibility, and Android build compatibility.
Editorial conclusion
Application teams already using Sensors Data should evaluate this SDK when they need Android collection spanning manual and instrumented tracking. Teams needing a self-contained Gradle tutorial should consult the external integration guide first, then verify module selection, Android 4.0 compatibility, instrumentation coverage, licensing, and upgrade impact before adoption.
Frequently asked questions
What Android versions does SensorsAnalytics SDK support?
The README states a minimum requirement of Android 4.0. It does not provide a complete compatibility matrix for newer Android versions or Android build tools.
How does SensorsAnalytics SDK implement automatic Android tracking?
The official Android instrumentation plugin uses ASM bytecode instrumentation. The README describes the resulting mode as Android full tracking, also called no-code or automatic tracking.
Does SensorsAnalytics SDK provide installation instructions on GitHub?
The README links to the Sensors Data Android SDK integration document rather than including a full Gradle setup. It also points to GitHub releases for available versions.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/sensorsdata-sa-sdk-android)Was this useful?