AppMetrica is a mobile app analytics tool that anyone can use to create reports on traffic sources, key indicators of an app, and audience and usage scenarios, as well as collect statistics on failures, conduct A/B tests, and remotely manage configuration.
Today we published the AppMetrica SDK source code on GitHub. Anyone can audit the SDK, suggest improvements by submitting a pull request, and reuse useful code snippets.
We first created AppMetrica as an analytical tool for internal use at Yandex. However, our needs with regard to apps are no different from those of any other app developers: we also analyze the sources of installations, user behavior, and crashes and errors, and we also send notifications.
In 2014, the service was launched for everyone outside the company. Over the past nine years, the SDK code has gone through many optimizations and changes to meet the requirements of app stores and fully support new operating system functions. In addition, AppMetrica has successfully passed ISO/IEC 27001 certification (a standard that defines and enforces the requirements for an information security management system) for many years in a row.
More than 60,000 apps use AppMetrica every day. According to data.ai, it is in the TOP 5 international mobile analytics SDKs by number of registered installations.
First and foremost, AppMetrica is a product analytics service that helps find bottlenecks in an application and generate growth hypotheses. For example, using the «Funnel» report, one can find the greatest user drop offs during onboarding, registration, or on the path to purchase, in order to improve conversion to the target action.
AppMetrica allows developers to track mobile app installations. It identifies the advertising source of the install and provides attribution data. Using the User Acquisition report, you can determine which traffic sources bring the highest quality installs in terms of ARPU/ARPPU, engagement metrics, or conversion to target action.
.AppMetrica also offers the ability to configure sending push notifications to return the user to the app with various promotions.
Crash and error reports in AppMetrica allow the development team to monitor the stability of the app and receive notifications about new crash groups that affect a larger share of users. The service also stores all user events that led to the crash, making it easier for the testing team to reproduce and describe the bug.
The published code contains all the functions of the usual SDK and allows you to reproduce it yourself by building libraries from the source code. AppMetrica fully complies with all guidelines of the App Store, Google Play, and other marketplaces, and it is regularly adapted. The collection of user behavior analytics within applications complies with international security regulations and uses only the documented capabilities of operating systems.
The SDK code is provided under an open MIT license, which means that any user can reuse the AppMetrica code for their own purposes with attribution.
All Android SDK code is provided as binary artifacts in our releases. It is enough to assemble an SDK from open source and compare the resulting artifacts with the AppMetrica SDK published in maven—it is assembled from the exact code published on GitHub.
There are two steps to building the Android SDK yourself:
git@github.com:appmetrica/appmetrica-sdk-android.git.
As a result, all modules will be collected. The aar file for each module can be found in
To view the code:
git@github.com:appmetrica/appmetrica-sdk-android.git.
The iOS SDK does not require a separate code build and is delivered through the Swift Package Manager.
To view the code:
git@github.com:appmetrica/appmetrica-sdk-ios.git
We hope that publishing the AppMetrica SDK code will help anyone who wants to understand its work, customize it to suit their tasks, and reuse the experience in their projects. We would love to hear your suggestions and get your pull requests!