AppsFlyer Android SDK release notes

At a glance: Check out the SDK release notes for a quick overview of the latest changes to the Android SDK. Developers looking for more comprehensive details should review the Android Release Notes on the Dev Hub.

Android SDK V6 

Android SDK integration guide for developers

Version Release date Notes
6.15.1 2024-08-28 Versions upgrade:
  • targetSDKVersion: v34
  • Gradle: v8.7
  • Java: v17
6.15.0 2024-07-31
  • Added the logAdRevenue method to send ad revenue data to AppsFlyer. Note: Starting with this version, the AdRevenue Connector should no longer be used; it must be replaced by the logAdRevenuemethod. Learn more
6.14.2 2024-06-10
  • Fixed an issue with fetching Meta Install Referrer on apps built with Unity.
6.14.1 2024-05-29 SDK maintenance
6.14.0 2024-04-18
  • Added support for the updated Purchase Validation flow. This feature is currently in closed beta. Learn more.
  • Updated Huawei Referrer integration. Learn more.
6.13.1 2024-04-03 SDK maintenance
6.13.0 2024-02-08
  • Added support for Google's new EU consent policy (DMA)
6.12.6 2024-01-29

SDK maintenance

6.12.5 2023-12-18
  • Added the original_link parameter to the deep linking callback in the ESP resolution flow.
6.12.4 2023-10-25
  • Dexguard updated to version 9.4.16 to improve SDK stability.

6.12.3

2023-08-31 SDK maintenance

6.12.2

2023-08-02
  • Fixed a bug that could cause the app to crash on some devices in Android 8.1.0 and Android 11.

6.12.1

2023-06-29
  • Fixed an issue where the Play Store launch was delayed in cross promotion.
  • Fixed a bug causing the app to crash on some devices.

6.12.0

2023-06-28
  • Deprecated - please use version 6.12.1.

6.11.2

2023-06-29
  • Fixed a bug causing the app to crash on some devices.

6.11.1

2023-06-6
  • Deprecated - please use version 6.12.1.
  • Fixed a bug where the app sometimes crashed after initializing the SDK.

6.11.0

2023-05-16
  • Fixed an issue that sometimes caused the app to freeze on some devices when the SDK attempted to obtain the Google Play Referrer

6.10.3

2023-04-25 SDK maintenance

6.10.1

2023-03-01
  • Fixed an issue that sometimes caused apps on Samsung devices to close when initializing the SDK. This issue affected apps with SDK V6.6.0 and above.

6.10.0

2023-02-13
  • New AppsFlyer domain for communication between the SDK and AppsFlyer servers.
  • Changed setHost API when empty or null values are sent. Learn more

6.9.4

2022-12-6
  • Fixed an issue where sending an ad revenue event from the ad revenue SDK connector triggered a call to the conversion listener.
  • Fixed an issue that sometimes caused apps to freeze when an ad revenue event was sent from the ad revenue SDK connector.

6.9.3

2022-11-28
  • Updated the internal request structure for Get Conversion Data (GCD). Note: Response data remains the same.
  • Fixed an issue where the SDK triggered a GCD request when the app had the ConversionListener set to null.

6.9.2

2022-10-02
  • Fixed an issue related to a delay in requesting a purchase validation using the validateAndLogInAppPurchase API.

6.9.1

2022-09-19 SDK maintenance

6.9.0

2022-09-12
  • Added support for Xiaomi GetApps Store Referrer.
  • Updated the internal API for ad revenue reporting. Starting this version, only the generic ad revenue SDK connector is supported.

6.8.2

2022-08-29
  • Fixed a critical issue with the caching mechanism of the SDK introduced in V6.7.0, causing cached events to be sent multiple times.

6.8.1
(Deprecated)

2022-08-24
  • Deprecated. Please use V6.8.2.

6.8.0
(Deprecated)

2022-07-18
  • Deprecated. Please use V6.8.2.
  • Removed the enableLocationCollection API from the SDK. The app can still report the user’s location data by passing it to the SDK directly via the logLocation API.
  • Added the com.google.android.gms.permission.AD_ID permission to the SDK's AndroidManifest.xml. Read more about it here.
  • Fixed an issue related to optimization and obfuscation using R8.

6.7.0
(Deprecated)

2022-06-19
  • Deprecated. Please use V6.8.2.
  • Changed how the SDK handles requests to the AppsFlyer servers. Following this change, the request for reporting the first app open (conversion) will be prioritized over in-app events and other types of requests. Read more about it here.
  • New API: setDisableNetworkData to opt-out from collecting the information about the cellular network (carrier name, operator name).

6.6.1

2022-05-16 SDK maintenance

6.6.0

2022-05-01
  • Added more parameters to UDL's onDeepLinking callback for Direct Deep Linking flow (existing users). For more information.

6.5.4

2022-03-23 SDK maintenance

6.5.3

2022-03-09
  • Bugfix: Fixed issue with the creation of user-invite links that contain non-English characters.

6.5.2

2022-01-26
  • Fixed issue when resolving URL for deferred deep linking in UDL.
  • Updated to DexGuard 9.2
  • Refactoring and internal changes.

6.5.1

2021-12-29

6.5.0

2021-12-07
  • Refactoring and internal changes.

6.4.3

2021-11-14
  • Fixed a bug introduced in  V6.4.2with LinkGenerator causing the creation of links with missing URL parameters.

6.4.2

2021-10-24

The following were resolved:

  • pid parameter being appended twice to custom URLs generated by LinkGenerator.
  • Extra / was added to the af_dp value when using LinkGenerator to create custom URI schemes.
  • Both IMEI and AndroidID were collected, if the app triggered the collection of only one of them.

6.4.1

2021-10-17

Resolved compilation error when using Gradle version earlier than V3.5.4.

6.4.0

2021-09-12

New API: setSharingFilterForPartners lets you configure which partners the SDK should exclude from data-sharing.

As of this version, setSharingFilter and setSharingFilterForAllPartners are deprecated.

6.3.2

Deprecation: 31/08/2024

2021-06-06

New API: setDisableAdvertisingIdentifiers

6.3.1

Deprecation: 31/08/2024

2021-05-26
  • New API: performOnDeepLinking
  • Added the ability to trigger the User Invite API before calling start/after calling stop
  • Bugfix: Fixed an issue where a call to waitForCustomerUserId wasn't released even after calling setCustomerUserId

6.3.0

Deprecation: 31/08/2024

2021-04-29
  • Bugfix: Wrong invocation of onConversionDataFail upon in-app event send request failure
  • Bugfix: motion sensor metric collection (for fraud detection)
  • Bugfix: Obfuscation-related fix to UDL
  • Technical update to the OneLink API
6.2.3
Deprecation: 31/08/2024
2021-03-04 SDK maintenance
6.2.0
Deprecation: 31/08/2024
2021-02-07
6.1.4
Deprecation: 31/08/2024
2021-01-12
  • Added support for DexGuard V9
6.1.3
Deprecation: 31/08/2024
2020-12-24
6.1.1
Deprecation: 31/08/2024
2020-12-03
  • Added support Samsung Galaxy Store referrer
  • Minor bug fixes and performance improvements.
6.1.0
Deprecation: 31/08/2024
2020-11-09
6.0.1
Deprecation: 31/08/2024
2020-10-28

SDK maintenance

6.0.0
Deprecation: 31/08/2024
2020-10-14
  • Major changes to SDK functionality and API including deprecation and method name changes. Learn more

Android V6.0.0 release notes

Methods removed/deprecated or renamed

Methods removed/deprecated

The following methods have been removed from the SDK:

  • sendDeepLinkData

  • trackAppLaunch

  • setPluginDeepLinkData

  • setConsumeAFDeepLinks

  • setHostName

Methods renamed

API name (before V6) Current API name (V6 and later)

stopTracking

stop

setCustomerIdAndTrack

setCustomerIdAndLogSession

startTracking

start

trackLocation

logLocation

reportTrackSession

logSession

trackEvent

logEvent

setDeviceTrackingDisabled

anonymizeUser

validateAndTrackInAppPurchase

validateAndLogInAppPurchase

isStopTracking

isStopped

trackAndOpenStore

logAndOpenStore

trackCrossPromoteImpression

logCrossPromoteImpression

trackInvite

logInvite

Renamed interface

Interface name (before V6) Current interface name (V6 and later)

AppsFlyerTrackingRequestListener

AppsFlyerRequestListener

Deprecated Versions

Android SDK V5 release notes

Version Release date Maintenance only Notes

5.4.6

2020-11-09  
  • Added support for Huawei AppGallery referrer.

5.4.4

2020-10-01  
  • Added support for SDK to handle multiple redirects from ESPs
  • Bug fixes and maintenance

5.4.3

2020-07-30  
  • Extended logging and debugging capabilities
  • Bug fixes and maintenance
  • Support for Google install referrer V2

5.4.1

2020-06-30  
  • Allow advertisers to control sharing data with integrated partners/networks. Learn more
  • Bug fixes and maintenance

5.4.0

2020-06-03  
  • Full support for automatically collecting OAID
  • Multi-referrer support: SDK can collect Huawei and Google referrers
  • SDK performance improvements
  • Bug fixes and maintenance

5.3.0

2020-04-27   
  • Access the latest direct deep linking conversion data anytime, via onAppOpenAttribution method
  • Additional parameters available for cross-promotion impressions
  • Bug fix: fixed problems with a. and b. file names in Windows
  • sendDeepLinkData method to get attribution data even if the user is deep linked into a specific activity has been deprecated in favor of the startTracking() method
5.2.0 2020-03-10   
  • Allow initialization of SDK in any activity
  • Extended security, logging, and debugging capabilities
  • Bug fixes and maintenance
5.1.2 2020-02-19 Yes

 

5.1.1 2020-01-23    Yes  
5.1.0 2020-01-06      
  • Target to Android 9 (API level 28) according to Google target API level requirements
  • Improvements for anti-fraud protections - for Protect360 clients
  • Optional module for collecting OAID (relevant for China domestic) - Xiaomi and Huawei (see https://github.com/AppsFlyerSDK/appsflyer-oaid).
  • Stability improvement when using setOneLinkCustomDomain for ESPs
5.0.2 2019-12-23     
5.0.1 2019-12-12     
5.0.0 2019-11-12
  • Bug fixes and maintenance
  • Major changes to SDK functionality and API including deprecation and method name changes. Learn more

Android V5.0.0 release notes

Improved SDK response time

Starting with SDK V5.0.0 improved GCD response time for organic installs.

Methods removed or renamed

Method name changes

Install conversion data method names are now the same for Android and iOS. This impacts methods that handle:

  • conversion data on install
  • errors if data is not available
Android name prior to SDK V5  iOS name prior to SDK V5 Standardized name
onInstallConversionDataLoaded onConversionDataReceived onConversionDataSuccess
onInstallConversionFailure onConversionDataRequestFailure onConversionDataFail

Methods removed

The following methods were deprecated in previous SDK versions. They have now been removed from the SDK.

Android

  • setGCMProjectID (String projectNumber)
  • setGCMProjectNumber (String projectNumber)
  • setGCMProjectNumber (Context context, String projectNumber)
  • enableUninstallTracking (String senderId)
  • setAppUserId (String id)
  • setUserEmail (String email)
  • setCollectFingerPrint (boolean isCollect) 
  • getAttributionId (ContentResolver contentResolver)
  • FirebaseInstanceIdListener class (instance of FirebaseInstanceIdService)

 iOS

  • loadConversionDataWithDelegate: (id<AppsFlyerTrackerDelegate>)delegate
  • setHost:(NSString *)host 

Changes to get conversion data format

In this version, for each install or app open, the SDK returns a map object that contains conversion data (GCD) such as media source and campaign name. In previous SDK versions, GCD returned only parameters that had a value

Starting with this version, all parameters are returned, including those without a value. Parameters without value have a null value. 

 Example

An install follows a click on the following URL:

https://app.appsflyer.com/com.sample.app?pid=super_media_source&c=awesome_campaign
  &campaign_id=1234&af_sub1=promo
  

The responses are as follows:

GCD response prior to SDK V5 GCD response starting SDK V5

   {
      "install_time": "2019-11-11 15:00:59.828",
      "media_source": "super_media_source",
      "orig_cost": "0.0",
      "advertising_id": "215d8172-c61e-4d0c-9eb2-aa4d0971ed8c",
      "af_status": "Non-organic",
      "is_first_launch": "true",
      "af_sub1": "promo",
      "af_click_lookback": "7d",
      "cost_cents_USD": "0",
      "iscache": "true",
      "click_time": "2019-11-11 15:00:35.102",
      "campaign": "awesome_campaign",
      "campaign_id": "1234",
  }
      

GCD returns the same structure no matter the data. If a parameter is empty, it is included in GCD with a null value. This makes it easier for developers to process GCD without having to adjust the GCD processing logic, irrespective of whether certain parameters are included or not. To learn more about conversion data in different scenarios, see here.

Android V4.0.0 release notes

Version Release Date Notes
4.11.0 10-22-2019
  • Improved logging for better debug capabilities for the following:
    • ESP
    • Branded Links resolving
    • onInstallConversionData and onAppOpenAttribution.
  • Bug fixes and maintenance
4.10.3 09-15-2019
  • Bug fixes and maintenance
  • Support for Open Advertiser ID (OAID) 
4.10.2
4.10.1 07-01-2019 Bug fixes and maintenance
4.10.0 05-14-2019
  • SDK improvements for developers using ProGuard.
  • Bug fixes and maintenance
4.9.0 03-17-2019
  • setResolveDeepLinkURLs API for resolving OneLinks wrapped with another Universal Link
  • Fix for push notification recording when the discarded push notification recording of the previous payload contained the same pid and was still in memory.
  • Typo fix from af_county to af_country
  • Bug fixes and maintenance
4.8.20 02-13-2019
  • Improved zero-rating capabilities for cellular providers
  • Bug fixes and maintenance
4.8.19 12-26-2018
  • Fixed issue where the method waitForCustomerUserId() breaks generateLink
  • Bug fixes and maintenance
4.8.18 11-11-2018
  • Fixed deep linking issues from trampoline activities
  • Improved accuracy of re-engagement when moving between background and foreground
  • Bug fixes and maintenance
4.8.17 11-02-2018 Fix for an issue related to conflicts in ProGuard causing loss of app launch data in some cases. This issue affected only SDK version 4.8.16
4.8.16 10-31-2018 Bug fixes and maintenance
4.8.15 08-27-2018
  • Additional SDK Events: Subscribe, Start Trial, Ad Click, Ad View
  • Bug fixes and maintenance
4.8.14 07-31-2018
  • Added setOutOfStore and getOutOfStore APIs for dynamically setting the AF_STORE value
  • Added onTrackingRequestFailure and onTrackingRequestSuccess APIs for receiving a confirmation that AppsFlyer successfully received the tracking request servers
4.8.13 06-20-2018
  • Fixed a bug in an edge case where IMEI was missing when passed explicitly through setImeiData API
  • Bug fixes and maintenance
4.8.12 05-27-2018
  • Fixed app crashing when using JUnit test that uses Robolectric
  • Bug fixes and maintenance
4.8.11 05-02-2018 Bug fixes and maintenance
4.8.10 04-26-2018
  • Added setPreinstallAttribution API
  • Bug fixes and maintenance
4.8.9 04-02-2018
  • Collect IMEI only if GooglePlayServices doesn't exist on the device, and it's not possible to retrieve GAID on that device
  • Bug fixes and maintenance
4.8.8 03-11-2018
  • Added API for delaying SDK initialization until customerUserID is provided
  • Bug fixes and maintenance.
4.8.7 01-25-2018
  • isStopTracking API to shut down all SDK activities
  • af_content event parameter
4.8.5 11-29-2017
  • Support for new Google referrer API
  • New init method which receives context
4.8.4 11-14-2017
  • Added a flag to getConversionData is_first_launch which indicates if this is the first launch of the application. This flag allows developers to identify the first launch of the app easily within the getConversionData callback response which is returned in every launch. Possible values for is_first_launch are "true" or "false"
  • Bug fixes and maintenance
4.8.3 09-27-2017 Added support for HTTP referrer data in getConersionData
4.8.2 09-19-2017 Fix in sendDeepLinkData(this) for apps that deep-link to multiple activities
4.8.1 09-17-2017 Improved protection against in-app events called before SDK initialization
4.8.0 09-03-2017
  • User Invite APIs
  • Cross-promotion APIs
  • Custom time between sessions
  • Support for Zero Rating for Cellular Providers
  • Additional event parameter af_projected_revenue
  • Bug fixes and maintenance
  • Additional init method introduced - AppsFlyerLib.getInstance().init(AF_DEV_KEY,conversionDataListener);
4.7.4 06-28-2017 Improved handling of multiple ScheduledExecutorSerice shutdowns
4.7.3 06-06-2017 Enhancements for mParticle integration
4.7.2 05-22-2017
  • Fixed minor memory leak issue
  • Improved accuracy of Uninstall measurement
  • Fixed ProGaurd warning which affected uninstall measurement
  • Bug fixes and maintenance
4.7.1 02-22-2017 Fixed warning triggered by ProGuard
4.7.0 02-13-2017
  • Additional Event Parameters
  • Support for Firebase based uninstall measurement
  • Bug fixes and maintenance