AppMetrica is a free real-time ad tracking and mobile app analytics solution. AppMetrica covers the three key features for discovering your app's performance — ad tracking, usage analytics and crash analytics. Detailed information and instructions for integration are available in the documentation.
Classes in packages ${MODULE_NAMESPACE}.internal are intended for interaction between modules and are not part of the public API. Also changing these classes does not correspond to semver.
- JDK 17
./gradlew :assembleRelease
./gradlew :publishReleasePublicationToMavenLocal
./gradlew :testReleaseUnitTest :generateReleaseJacocoReport
./gradlew lint ktlint checkstyle
./gradlew :aarCheck
./gradlew :aarDump
The modules described below are optional and can be forcibly disabled from the AppMetrica SDK if necessary.
To do this, add the following code to the app/build.gradle.kts file:
configurations.configureEach {
exclude(group = "io.appmetrica.analytics", module = "analytics-{module_name}")
}- ad-revenue - includes all Ad-Revenue modules of AppMetrica SDK.
- ad-revenue-admob-v23 - adds a handler for Ad-Revenue events from
com.google.android.gms:play-services-ads. - ad-revenue-applovin-v12 - adds a handler for Ad-Revenue events from
com.applovin:applovin-sdk. - ad-revenue-fyber-v3 - adds a handler for Ad-Revenue events from
com.fyber:fairbid-sdk. - ad-revenue-ironsource-v7 - allows AppMetrica SDK to collect Ad-Revenue events from
com.ironsource.sdk:mediationsdk. - apphud - adds integration with
com.apphud:ApphudSDK-Android. - appsetid - allows AppMetrica SDK to collect App Set IDs.
- billing - allows AppMetrica SDK to collect billing events from Google Billing Library.
- identifiers - allows AppMetrica SDK to collect ADV IDs.
- location - allows AppMetrica SDK to collect location.
- ndkcrashes - allows AppMetrica SDK to handle native crashes on Android.
- screenshot - allows AppMetrica SDK to collect screenshot taken events.
- id-sync — enhances integration capabilities and improves overall system performance in cross-platform environments.
- billing — aggregates the functionality of the in-app purchase collection.
The modules described below are not optional, but they do require external dependencies to function. You can find the necessary dependencies in the modules' README files.
- billing-v6 - wrapper for
com.android.billingclient:billing. - billing-v8 - wrapper for
com.android.billingclient:billing. - gpllibrary - wrapper for
com.google.android.gms:play-services-location.
You can find list of module dependencies with supported versions in the dependencies_versions.yaml file.