Release notes for SDK V5.0

AppsFlyer SDK V5.0.0 introduces some major changes to API methods and functionality.

Improved SDK response time

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

Removing and renaming methods

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


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


(void)setHost:(NSString *)host we use -[AppsFlyerTracker setHost:withHostPrefix:]

Same method names for Android and iOS

The SDK has two methods that handle conversion data on install. One method returns the conversion data and the other returns an error if conversion data is not available. In previous versions, the Android and iOS names differed. Starting with this version they are standardized.  

Method name standardization

Android name prior to SDK V5  iOS name prior to SDK V5 Standardized name
onInstallConversionDataLoaded onConversionDataReceived onConversionDataSuccess
onInstallConversionFailure onConversionDataRequestFailure onConversionDataFail

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. 


An install follows a click on the following URL:

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.

Was this article helpful?