JustTrackSdk.getCachedAttribution was removed. Use getUserId or getAttribution instead.
The version of JustTrackSdk.integrateWithIronSource without any parameters was removed. Use integrateWithIronSource(IronSourceUserIdSource.JustTrack) instead.
SdkBuilder.setEnableIronSourceIntegration(booean) was removed. Use setEnableIronSourceIntegration(boolean, IronSourceUserIdSource.JustTrack) instead.
The AdUnit enum was renamed to AdFormat and the RewardedVideo value was renamed to Rewarded. RewardedInterstitial, Native, and AppOpen have been added as new values, too.
The SDK now forwards the App Set ID to the backend.
The SDK now handles timeouts while collecting information for a correct attribution better. This will make it more likely to receive an attribution event after the initial Future resolves should you have registered a listener.
Renamed all occurrences of the Firebase instance ID to Firebase app instance ID. For example, publishFirebaseInstanceId is now called publishFirebaseAppInstanceId.
Events tracking the progress of a user for a level or quest have been extended to automatically track the progress of the user and provide the duration the app was active during that time upon completion.
The SDK no longer requests the READ_PHONE_STATE and ACCESS_WIFI_STATE permissions.
The session ID is now included in all events sent to the backend.
setTrackingId now takes the provider of the tracking ID as a second parameter.
There can be only a single instance of the SDK from now on.
Events without a unit are now tracked with a value of 0 (previously there were tracked with a value of 1).
The implementation for standard events changed significantly. Each standard event now has an associated class and should be created via an instance of this class.
Standard events now carry built-in dimensions next to the three custom dimensions.
A UserEvent now takes a EventDetails instance instead of a String as the name parameter. You can create a EventDetails instance from a string, leaving category, element, and action empty.
There is now a short delay before sending user events to batch them.
The justtrack SDK is now licensed under the MIT license.
Added the current version name (if available) to the app version send to the backend.
The JustTrackSdkBuilder has been simplified and now only depends on an Activity or Application.
AttributionResponse#getCampaign(), AttributionResponse#getChannel() and AttributionResponse#getNetwork() now return Campaign, Channel and Network interfaces instead of the old IdString interface.
RetargetingParameters#getUrl() was replaced by RetargetingParameters#getUri() to allow URIs with an unknown protocol (e.g., your app name) to be returned.
Added Campaign#getType() to retrieve the type of a campaign.
Added Channel#isIncent() to retrieve the incent flag of the channel.
Added support for a preliminary retargeting result. This allows you to already display some welcome screen while the SDK is still waiting for the retargeting attribution to be confirmed by the justtrack backend (as this can take a few seconds). Therefore there is a new interface PreliminaryRetargetingParameters, a new method JustTrackSdk#getPreliminaryRetargetingParameters(), a new listener interface PreliminaryRetargetingParametersListener and a new method JustTrackSdk#registerPreliminaryRetargetingParametersListener(PreliminaryRetargetingParametersListener) to register said listener. After obtaining an instance of PreliminaryRetargetingParameters, you can validate() them to check whether the user did really a retargeting campaign or whether they e.g. crafted the Intent by hand.
Added setReFetchReAttributionDelaySeconds to the SDK builder to control when attributions are fetched a second time after a re-attribution opportunity was detected.
Renamed various parts of the attribution response:
uuid > userId
subId > sourceId
subAppId > sourceBundleId
adSetId > adsetId (small S)
recruiter.clientId > recruiter.packageId
Added recruiter.userId, recruiter.platform, installId, userType, sourcePlacement to the attribution response
Updated okhttp dependency to 3.14.9 and play-services-ads dependency to 19.7.0
JustTrackSdkBuilder and ExistingJustTrackSdkBuilder now take an Intent as the second parameter.
Starting with this version, you have to implement Activity#onNewIntent(Intent) to allow the SDK to detect receiving intents while the app is already running.
Added setInactivityTimeFrame(long) and setReAttributionTimeFrame(long) to the SdkBuilder interface. Use it to specify how often we need to fetch for a new (re-)attribution. By default we will fetch a new attribution every 14 days or after the SDK wasn't initialized for more than 48 hours.
Added getRetargetingParameters to the JustTrackSdk interface. It provides the retargeting parameters the app was started with (if any, otherwise null).
Added registerAttributionListener and registerRetargetingParametersListener to the SDK as well as needed companion types.
Added onNewIntent to the SDK to notify it about new intents (if you don't call setIntent in your activity).
Added setTrackingId(String) to SdkBuilder interface to provide a tracking ID (e.g., the AppsFlyer ID of the user) as an additional means of identifying the user.
Added integrateWithIronSource() to JustTrackSdk interface.
Added setEnableIronSourceIntegration(boolean) to SdkBuilder interface.
When you have the IronSource SDK integrated into your app, you can now automatically sent the userId to IronSource as well as subscribing to impression events as user events by calling integrateWithIronSource() or setEnableIronSourceIntegration(true).
The SDK will now automatically fetch a new attribution should the first attribution be younger than 15 minutes to make sure any changes on the backend side are propagated to the app eventually.
An attribution now includes the campaign ID and name instead of just the ID.
You can now get an existing SDK instance if one exists
You can specify an activity which is currently active should you instantiate the SDK while the activity is already running (see SdkBuilder#setCurrentActivity).