Changelog

AppMetrica SDK

Version 6.5.0

Released April 26, 2024

Version 6.4.0

Released April 11, 2024

  • Now supports automatic fetching of impression level revenue data from sources: Ironsource V7, Fyber V3.
  • Fixed an error, that was outputted to the system log:
    E ActivityThread: Failed to find provider info for com.yandex.preinstallsatellite.appmetrica.provider
    

Version 6.3.0

Released March 18, 2024

  • UUID format validation and recovery of invalid UUID values are now available.
  • ANR detection algorithm improved. Now, ANR is only registered if a single Runnable couldn't be executed within the allotted time on the main thread. The algorithm identifies heavy tasks that cause the main thread to freeze. Previously, ANR detection triggered when a large number of small Runnables were executed on the main thread. In such situations, the ANR stack trace was typically non-informative and quite useless.
  • Now, if a single Runnable freezes, a single ANR report is generated. This reduces the number of ANR reports, but increases their usefulness.
  • Fixed a possible ANR at io.appmetrica.analytics.internal.AppMetricaService.onCreate (issue#3).
  • Fixed potential crashing of org.json.JSONException: Forbidden numeric value: NaN when sending external attributions (AppMetrica#reportExternalAttribution(...)).

Version 6.2.1

Released 26 January, 2024

  • Fixed an error in external attribution serialization.

Version 6.2.0

Released 22 January, 2024

  • Added the AppMetrica.reportExternalAttribution method for sending attributions from external libraries. To learn more, see Import attributions from other SDKs.
  • Fixed an issue that prevented logging of saving and sending events to the server.

Version 6.1.0

Released November 28, 2023

  • Increased buildToolsVersion to 34.0.0.
  • Increased targetSdkVersion and compileSdkVersion to 34.
  • Kotlin plugin updated to version org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21.
  • Now supports automatically collecting purchases and subscriptions made using the com.android.billingclient:billing:6.0.0 library. Automated collection of purchases and subscriptions using the com.android.billingclient:billing:4.+ library is no longer supported. Automated collection of purchases and subscriptions is now available for com.android.billingclient:billing:5.0.0 and higher.
  • Fixed a possible deadlock at io.appmetrica.analytics.networktasks.internal.NetworkCore.onDestroy.

Version 6.0.0

Released September 13, 2023

  • Updated the library ID, root package, and API. For more details, see the migration instructions.
  • Removed Breakpad integration. Only Crashpad is currently used. To catch native crashes, use the io.appmetrica.analytics:analytics-ndk-crashes:3.0.0 dependency. For more details, see the section about native crashes.
  • Updated Crashpad to the 9158eb7caa811b684c6bec7f9e9b5f52389d0ce0 commit in the io.appmetrica.analytics:analytics-ndk-crashes module.
  • Moved the com.google.android.gms.permission.AD_ID permission to the io.appmetrica.analytics:analytics-identifiers module.
  • Fixed the Class io.appmetrica.analytics.impl.ob.Zh failed lock verification and will run slower warning (and similar ones) that could have arisen when installing and starting the app.
  • Fixed a possible ANR error at io.appmetrica.analytics.impl.ob.p3$b.onServiceConnected(SourceFile:2).
  • Moved geo features to a separate dependency: io.appmetrica.analytics:analytics-location. You can now opt out of the AppMetrica SDK collecting location coordinates at the app build stage when needed. This may be needed for certain app categories to comply with Google Play policies. For more information, see the documentation.
  • Now supports API for obtaining the AppMetrica SDK IDs (DeviceId, DeviceIdHash, UUID) with the AppMetrica#requestStartupParams method. For more information, see the documentation.
  • Now supports the API for specifying the device type (phone, tablet, TV, car). For more information, see the documentation.

Version 5.3.0

Released March 3, 2023.

  • Fixed the Class com.yandex.metrica.impl.ob.Zh failed lock verification and will run slower warning (and similar ones) that could have arisen at app installation and launch.
  • Fixed a possible ANR at com.yandex.metrica.impl.ob.p3$b.onServiceConnected(SourceFile:2).
  • Fixed errors and improved stability.

Version 5.2.0

Released September 19, 2022

  • Added the AdRevenue API for transmitting advertising monetization revenue at the impression level (Impression-Level Revenue Data):
    • AdRevenue and AdRevenue.Builder classes.
    • reportAdRevenue(AdRevenue adRevenue) methods in the YandexMetrica class and reportAdRevenue(AdRevenue adRevenue) methods in the IReporter interface.
    • The AdType enumeration.
  • targetSdkVersion = 33.

Version 5.0.1

Released July 29, 2022

  • Fixed an issue that could cause repeated false installations.

Version 5.0.0

Released May 20, 2022

Note

Starting from Android AppMetrica SDK 5.0.0 and later, appmetrica_device_id changes when the app is reinstalled. This is due to new Google policies. For more information, see the documentation.

  • Moved the feature of getting advertising IDs to a separate library named com.yandex.android:mobmetricalib-identifiers. For more information, see Getting advertising IDs.
  • The flag to send information about the device location is disabled by default. To enable sending location data along with events, use one of the following methods: withLocationTracking(boolean enabled) or setLocationTracking(boolean enabled).
  • Added @NonNull annotations for the arguments of the DeferredDeeplinkParametersListener interface methods.
  • The reportNativeCrash method is deprecated and will be removed in future versions.

Version 4.2.0

Released February 17, 2022

  • Added a new API to track crashes and errors from random plugins.

    Interfaces:

    • YandexMetricaPlugins;
    • IPluginReporter.

    Classes:

    • PluginErrorDetails;
    • PluginErrorDetails.Builder;
    • StackTraceItem;
    • StackTraceItem.Builder.
  • Now supports downgrade to version 4.2.0 and higher with saving important data, such as the device ID. It is not recommended to use downgrade, as it can cause data loss and corruption. Repeated attribution for such users will not be supported.

  • Now supports Google Play Billing Library version 4.0.0. Support is still provided for versions 3.x.

  • In the DeferredDeeplinkParametersListener method, the referrer argument became @NonNull. If it is missing, you will get an empty string.

  • Removed ROOT status detection on devices running Android 12 and higher. Now all devices running Android 12 will be considered devices without ROOT access.

  • Fixed errors and improved stability:

    • Fixed a crash that could have occurred when trying to connect to MetricaService:
      Process: com.yandex :Metrica java.lang.RuntimeException: Unable to bind to service com.yandex.metrica.MetricaService Caused by: java.lang.IllegalArgumentException at android.os.Parcel.nativeAppendFrom(Native Method).
      
    • Fixed a possible ANR in the process:
      Metrica: at com.yandex.metrica.impl.ob.jg.a (jg.java) at com.yandex.metrica.MetricaService.onConfigurationChanged(MetricaService.java:2)
      
    • Fixed a possible crash:
      java.lang.NullPointerException: Attempt to read from null array at com.yandex.metrica.impl.ob.tz.a
      

Version 4.1.1

Released December 17, 2021

  • Added com.google.android.gms.permission.AD_ID permission. For more information, see the documentation.
  • In DeferredDeeplinkListener.Error and DeferredDeeplinkParametersListener.Error, added NO_REFERRER value. Added preliminary support for App Set ID to receive a referrer from Google Play (dependency com.google.android.gms:play-services-appset:16.0.0).
  • SDK optimization is supported due to the correction of possible VerifyError when initializing classes.
  • Mac address collection is disabled.

Version 4.0.0

Released September 20, 2021

  • Google Play Install Referrer via BroadcastReceiver is no longer supported :

    • Removed MetricaEventHandler from AndroidManifest
    • Removed the YandexMetrica#registerReferrerBroadcastReceivers method.
    • Removed the YandexMetricaConfig#installedAppCollecting flag.
    • Removed the YandexMetricaConfig.Builder#withInstalledAppCollecting methods.
  • Added the YandexMetricaConfig.Builder#withSessionsAutoTrackingEnabled(boolean enabled) method for automatic session tracking.

  • Added the revenueAutoTrackingEnabled method for the automatic collection of data on In-App purchases.

  • Now supports the publication of the ".module" file for the Google Play SDK Console.

  • Auto-tracking of deeplinks has been implemented and enabled by default.

  • AppMetrica SDK migrated to AndroidX.

  • Added basic support for Android 12: the main functionality of the AppMetrica SDK is available on Android 12 devices in apps with targetSdkVersion = 31.

  • minSdkVersion has been upgraded to 14.

Crash plugin (AppMetrica Build Plugin for Gradle)

Version 0.10.0

Released April 26, 2024

  • Added keep for resources added by the plugin for AGP 8.2.+.

Version 0.9.0

Released February 26, 2024

  • Now supports AGP up to version 8.2.+ (excluding 8.0.+) and gradle up to 8.6.

Version 0.8.2

Released October 31, 2023

  • Fixed a StackOverflowError that occurred when there was a circular dependency.

Version 0.8.1

Released October 4, 2023

  • Fixed a possible crash when checking the use of two AppMetrica versions if there are multiple modules in a project.

Version 0.8.0

Released September 14, 2023

  • Changed the plugin name to io.appmetrica.analytics:gradle:0.8.0.
  • The com.yandex.android:mobmetricalib-ndk-crashes:1.1.0 dependency updated to io.appmetrica.analytics:analytics-ndk-crashes:3.0.0.
  • Now supports io.appmetrica.analytics:analytics:6.0.0.
  • Added the allowTwoAppMetricas parameter to disable checking the use of different AppMetrica versions.

Version 0.7.0

Released April 19, 2023.

  • Added more details to the error reporting that mapping files are missing.
  • Now supports AGP up to version 7.4.+ and gradle up to 7.5.

Version 0.6.2

Released July 28, 2022

  • Improved performance of the plugin.

Version 0.6.1

Released May 20, 2022

  • Improved performance of the plugin.

Version 0.6.0

Released May 17, 2022

  • Added the mappingFile parameter.
  • Fixed the "Cannot query the value of this property because it has no value available" error that occurred when retrieving the mapping file.

AppMetrica Push SDK

Version 3.2.0

Released April 22, 2024

  • Updated the supported version of RuStore to ru.rustore.sdk:pushclient:2.1.1.
  • Added plugin-adapter module for correct operation of Push SDK when used in plugins.
  • Added saving for variable names in the public API.

Version 3.1.1

Released April 9, 2024

  • Deleted debugging logs.

Version 3.1.0

Released April 2, 2024

  • Fixed silent push delivery when notifications are disabled.

Version 3.0.0

Released November 18, 2023

  • Updated the library ID, root package, and API. For more details, see the migration instructions.
  • Added an API for customizing the notifications created by the SDK.
  • Removed com.yandex.android:mobmetricalib support.

Version 2.3.3

Released November 10, 2023

  • Fixed a crash that occurred if the app had two different versions of AppMetrica SDK at the same time.

Version 2.3.2

Released October 4, 2023

  • Fixed a bug

    No field Companion of type Lio/appmetrica/analytics/ModuleEvent$Companion
    

Version 2.3.1

Released July 31, 2023

  • Improved performance and stability of the library.

Version 2.2.0

Released June 2, 2022

  • minSdkVersion (in appmetricapush-provider-hms) increased to 17.
  • Hms updated to version 6.5.0.300.
  • Accelerated PushSDK activation.

Version 2.1.1

Released 14 March 2022

  • Fixed a bug BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR.

Version 2.1.0

Released February 24, 2022

  • Improved token acquisition.
  • The YandexMetricaPush.getTokens method returns new tokens when called from TokenUpdateListener.onTokenUpdated.
  • Improved performance and stability of the library.

Version 2.0.0

Released 28 October 2021

  • Fixed a bug that occasionally occurred when processing a click on a push in Android 12.
  • Switching from support dependencies to AndroidX.