Changelog
Version 4.6.1 (October 30, 2024)
Changed
- Increased version number only.
Version 4.6.0 (October 22, 2024)
Changed
- Change SDK version scheme to support semantic versioning.
Version 4.5.6 (July 22, 2024)
Bug fixes
- Added handling for scenarios where ATT is requested while the app is in inactive state.
Version 4.5.5 (13th June 2024)
Bug fixes
- Fixed attribution on iOS 17.4.0 and iOS 17.4.1.
Version 4.5.4 (31th May 2024)
Added
- ATT request workaround for iOS 17.4 where iOS doesn't wait for user response.
Changed
- The minimum supported iOS version was raised to iOS 12.
Bug fixes
- A crash was fixed when integrating with AppLovin 12.x.
Version 4.5.3 (29th April 2024)
Added
- The SDK now contains a privacy manifest file.
Version 4.5.2 (8th April 2024)
Added
- The SDK is now available via Carthage and the Swift Package Manager.
Changed
- The SDK now reads the IDFA automatically after the user accepts the ATT request even if this happens after the SDK has been initialized.
- The casing of enum variants has been unified to
lowerCamelCase
. All variants of theDimension
enum as well as some AdFormat` variants have been affected. - The
userId
andadvertiserIdInfo
properties have been replaced with async methodsgetUserId()
andgetAdvertiserIdInfo()
. - The
createAffiliateLink() -> String
andcreateAffiliateLink(channel: String) throws -> String
methods have become asynchronous and now have the following signatures:createAffiliateLink() -> Future<String>
andcreateAffiliateLink(channel: String) -> Future<String>
respectively.
Bug fixes
- The SDK no longer resets the SKAd conversion value after installing from SKAdNetwork v4 and higher ads.
- User event timestamps now have millisecond precision.
Version 4.5.1 (5th February 2024)
Bug fixes
- Removed the application delegate wrapper as it wasn't always forwarding calls correctly.
Version 4.5.0 (12th December 2023)
Changed
- The
UserEvent
classes have been changed such that you can now submit named custom dimensions instead of dimensions custom1/2/3. - All predefined event classes have been renamed, some have been removed or merged. See the migration guide you received for more details.
- The JustTrackSDK can now only be initialized from the main thread. If you need to initialize it from another thread, use
DispatchQueue.main.sync
to move the call to the main thread. JustTrackSdk.forwardAdImpression
now requires you to construct anAdImpression
object instead of passing individual parameters.
Version 4.4.1 (30th August 2023)
Bug fixes
- Initializing the SDK multiple times no longer causes multiple instances running concurrently.
Version 4.4.0 (14th July 2023)
Added
JustTrackSdk.userId
was added to retrieve a future for the justtrack user ID.
Changed
- The justtrack SDK now provides the user and test group ID without waiting for the justtrack backend.
JustTrackSdk.attributeUser
was renamed toJustTrackSdk.attribution
and is now a property.JustTrackSdk.getRetargetingParameters
was renamed toJustTrackSdk.retargetingParameters
and is now a property.JustTrackSdk.getPreliminaryRetargetingParameters
was renamed toJustTrackSdk.preliminaryRetargetingParameters
and is now a property.JustTrackSdk.getAppVersionAtInstall
was renamed toJustTrackSdk.attribution
and is now a property.JustTrackSdk.getSdkVersion
was renamed toJustTrackSdk.sdkVersion
and is now a property.JustTrackSdk.getAdvertiserIdInfo
was renamed toJustTrackSdk.advertiserIdInfo
and is now a property.JustTrackSdk.getTestGroupId
was renamed toJustTrackSdk.testGroupId
and is now a property.JustTrackSdk.publishEvent
was renamed toJustTrackSdk.publish(event:)
.JustTrackSdk.registerAttributionListener
was renamed toJustTrackSdk.register(attributionListener:)
.JustTrackSdk.registerRetargetingParametersListener
was renamed toJustTrackSdk.register(retargetingParametersListener:)
.JustTrackSdk.registerPreliminaryRetargetingParametersListener
was renamed toJustTrackSdk.register(preliminaryRetargetingParametersListener:)
.JustTrackSdk.onDestroy
was renamed toJustTrackSdk.shutdown
.JustTrackSdk.getAffiliateLink
was renamed toJustTrackSdk.createAffiliateLink(channel:)
and can now throw an error instead of returning a future which can fail. A version without a parameter that doesn't throw any errors was also added.JustTrackSdk.publishFirebaseAppInstanceId
was renamed toJustTrackSdk.set(firebaseAppInstanceId:)
.- The
AdvertiserIdInfo
andAttributionResponse
protocols now provide properties instead of getter methods. - XCode 14.0 or newer is now required.
Removed
JustTrackSdk.getCachedAttribution
was removed.
Version 4.3.8 (29th March 2023)
Added
JustTrack.getInstance
now returns the current SDK instance if one was already created.set(automaticInAppPurchaseTracking: Bool)
was added to configure automatic in-app purchase tracking. It's enabled by default.
Removed
- You can now no longer manually forward in-app purchases. Use the automatic integration instead.
Version 4.3.7 (17th March 2023)
Bug fixes
- Added support to integrate with AppLovin 10.x.
- Added support to integrate with Unity Ads 4.6.0.
Version 4.3.6 (2nd March 2023)
Added
forwardAdImpression
can now be called with an arbitrary string parameter instead of anAdFormat
.integrateWithAdColony
was added to automatically track ad impressions from AdColony.integrateWithAppLovin
was added to automatically track ad impressions from AppLovin.integrateWithChartboost
was added to automatically track ad impressions from Chartboost.integrateWithUnityAds
was added to automatically track ad impressions from Unity Ads.
Changed
- The
AdUnit
enum was renamed toAdFormat
and the.rewarded_video
value was renamed torewarded
..rewarded_interstitial
,.native
, and.app_open
have been added as new values, too. - The
JustTrackSDKFirebase
andJustTrackSDKironSource
pods were merged into theJustTrackSDK
pod.
Bug fixes
- The correct device model is now reported to the justtrack backend, improving attribution precision.
Version 4.3.5 (16th December 2022)
Changed
- Forwarding in-app purchases no longer requires you to manually supply the receipt as token.
Version 4.3.4 (2nd December 2022)
Added
- The SDK now provides a method to track in-app purchases.
Changed
- You can now attach a currency to the events you are sending.
- If you are forwarding ad impressions, you now have to specify the currency for the revenue of the event.
Bug fixes
- The reported app version was fixed and now provides the name you specify instead of the version code only.
- The SDK no longer reports requesting the tracking permission multiple times if the method is called more than once.
Version 4.3.3 (8th November 2022)
Added
- The SDK now provides the token for Apple Search Ads to the backend.
- You can now provide a custom user ID to the backend.
- The SDK is now available as a CocoaPod.
Changed
- The SDK now imposes restrictions about the data you can send to the backend.
- The integration with Google Ads campaigns was improved.
- The native integration with IronSource was changed to allow specifying the user ID source.
Version 4.3.2 (4th August 2022)
Changed
- The SDK now provides a method
forwardAdImpression
to report ad impressions to the justtrack backend.
Version 4.3.1 (7th July 2022)
Bug fixes
- The SDK now stores internal logs and metrics more carefully to avoid excessive memory usage.
Version 4.3.0 (6th May 2022)
Changed
- 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. - The test group ID is now computed based on the IDFV instead of the IDFA.
Version 4.2.9 (1st April 2022)
Changed
- Renamed all occurrences of the Firebase instance ID to Firebase app instance ID. For example,
publishFirebaseInstanceId
is now calledpublishFirebaseAppInstanceId
.
Bug fixes
- The SDK now retrieves the Firebase app instance ID instead of the Firebase (installation) instance ID during integration.
Version 4.2.8 (30th March 2022)
Added
-
The SDK can now retrieve the Firebase instance ID of a user and send it to the justtrack backend.
Version 4.2.6 (11th February 2022)
Changed
- Improved attribution precision.
Version 4.2.5 (17th December 2021)
Added
- Added
JustTrack.requestTrackingAuthorization
to allow the user to opt in for tracking.
Changed
- Improved the precision of the retrieved device model name.
Version 4.2.4 (11th November 2021)
Added
- The SDK now provides methods to get the advertiser ID of the user and the test group ID of the user.
Changed
- The SDK now includes logic to retry fetching the & attribution if it failed last time and some time has passed.
Bug fixes
- The SDK now sends
session_app_open
events correctly.
Version 4.2.3 (25th August 2021)
Changed
- The SDK now automatically handles a network reconnect when fetching an attribution.
- Improved the error messages when you try to use an invalid API token.
- The SDK will now automatically send the revenue value with user events generated from ad impressions to the backend.
Version 4.2.2 (29th July 2021)
Changed
- Increased version to align with unity version.
- Increased likelihood that events reach the backend if the user is only using the app for a short time.
- Added call to
SKAdNetwork.registerAppForAdNetworkAttribution
.
Version 4.2.0 (23rd June 2021)
Changed
- 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 session ID is now included in all events sent to the backend.
- You now have to name the provider of the tracking ID when initializing the SDK.
Removed
- Removed
with(realTime:)
from all interfaces again as well asrealTime
event functionality. - It's no longer possible to set the duration for progression events by hand.
Version 4.1.0 (21st May 2021)
Added
- Added
with(realTime:)
to user events to send events without any delay. - Added
registerAttributionListener
,registerRetargetingParametersListener
, andregisterPreliminaryRetargetingParametersListener
to the SDK as well as needed companion types. - Added
getRetargetingParameters
andgetPreliminaryRetargetingParameters
to the SDK.
Changed
- 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 aEventDetails
instance instead of aString
as thename
parameter. You can create aEventDetails
instance from a string, leaving category, element, and action empty. - Events are now persisted until they reached the justtrack servers at least once.
- There is now a short delay before sending user events to batch them.
- The justtrack SDK is now licensed under the MIT license.
- The attribution format was changed slightly and more information is now provided with each attribution.
- Added the current version name (if available) to the app version send to the backend.
- The SDK now fetches the attribution again after 5 seconds (default, can be changed) after a re-attribution opportunity was detected.
Removed
- Removed units for level, currency, and average count.
Version 2.4.2 (11th January 2021)
Changed
- Use build number as version if available.
Bug fixes
- Use correct locale when formatting dates.
Version 2.3.3 (10th December 2020)
Added
- Created the SDK and released it onto an unsuspecting world.