- Added support for iOS integration via Swift Package Manager.
- Added
Adjust.getThirdPartySharingSettingsWithTimeoutmethod and thethirdPartySharingSettingsChangedCallbackmember ofAdjustConfigfor reading the current third-party-sharing settings from the Adjust backend and receiving updates when they change.
- Updated the Android plugin's Gradle DSL (
compileSdk,minSdk,lint) for compatibility with Android Gradle Plugin (AGP) 9, while remaining backward compatible with earlier AGP versions (#195).
⚠️ ChangedAdjustRemoteTrigger.payloadtoAdjustRemoteTrigger.payloadJson, exposing the remote trigger payload as a JSON string instead ofMap<String, dynamic>to preserve backend payload values across platform bridges. If you used this feature in versions 5.6.0 or 5.6.1, please update to version 5.6.2 or later and switch to the new API.
- Fixed an iOS issue where cold-start deep link handling could interfere with other plugins that listen for URL opens or universal links.
- Updated the Adjust Signature library version to 3.67.0.
- Added support for direct deep link callbacks. You can now receive direct deep links by assigning the
directDeeplinkCallbackmember of yourAdjustConfiginstance. - Added support for remote trigger callbacks. You can now receive remote trigger updates by assigning the
remoteTriggerCallbackmember of yourAdjustConfiginstance.
- Fixed an Android build failure (
Cannot run Project.afterEvaluate(Action) when the project is already evaluated) by handling Gradle evaluation order when:adjust_sdkis evaluated before the host:appproject.
- Updated the example app to showcase recommended
app_linksusage for deep link handling with Adjust.
- Added
getAdidWithTimeoutmethod to theAdjustAPI to allow retrieving the ADID with a specified timeout. If the value is not obtained in time, nil is returned. - Added
getAttributionWithTimeoutmethod to theAdjustAPI to allow retrieving the current attribution information with a specified timeout. If the value is not obtained in time, nil is returned. - Added ability to disable the reading of the app set ID. You can do this by setting the
isAppSetIdReadingEnabledmember on yourAdjustConfiginstance tofalse.
- Updated the Adjust Signature library version to 3.62.0.
- Updated the Adjust Signature library version to 3.61.0.
- Updated Gradle version of the plugin, example and test Android apps to
8.13.0andcompileSdkandtargetSdkto36(#178).
- Added support for processing deferred deep links in session responses.
- Added support for Google License Verification (LVL). For more details about this feature, refer to the official documentation.
- Fixed first session delay pre-init actions array lazy initialization.
- Updated purchase verification handler (internal changes).
- Added support for Google On-Device-Measurement. For more details about this feature, refer to the official documentation.
- Optimized the logic behind the
processAndResolveDeeplinkmethod to immediately return links that have already been resolved.
- Updated the Adjust Signature library version to 3.47.0.
- Updated look & feel of example and test apps.
- Added support for configuring store information via the
AdjustStoreInfoobject. You can now specify the store name and store app ID by assigning thestoreInfomember of yourAdjustConfiginstance. This enables the SDK to record the intended app store source during initialization. For more details about this feature, refer to the official documentation. - Added ability to initialize the SDK for the first session in delayed mode. You can start the SDK in the delayed mode by setting the
isFirstSessionDelayEnabledmember on yourAdjustConfiginstance totrue. To end the delay, make sure to callendFirstSessionDelaymethod ofAdjustinstance. For more details about this feature, refer to the official documentation. - Added ability to send organic search referrer together with deep link. You can send it via
referrermember of theAdjustDeeplinkinstance. For more details about this feature, refer to the official documentation. - Added ability to disable SDK's interaction with
AppTrackingTransparency.frameworkAPI. You can disable it by setting theisAppTrackingTransparencyUsageEnabledmember on yourAdjustConfiginstance tofalse. For more details about this feature, refer to the official documentation.
- Fixed crashes happening in cases where native iOS
jsonResponseisnil(#160).
- Added
jsonResponsefield (JSON string) toAdjustAttributionwhere every key-value pair sent by the backend as part of the attribution response can be found.
- Added sending of the additional parameter to improve troubleshooting of
SKAdNetworkrelated issues.
- Fixed occasional occurrences in which ATT waiting interval timer was not being started.
- Fixed occasional NPE occurrences when app was entering background (android_sdk#630).
- Fixed occasional NPE occurrences when
updateSkanConversionValuereturnsnullas error (#156).
- Switched to native Android SDK version that depends on a specific version of the signature library.
- Fixed
Adjust.modulemap not founderror in certain CocoaPods integration cases. - Fixed occasional ANRs while reading install referrer from Shared Preferences during the SDK initialization.
- Added missing
Adjust.getLastDeeplinkimplementation on iOS platform.
Major Release
We're excited to release our major new SDK version (v5). Among many internal improvements, our spoofing protection solution is now included out of the box, reinforcing our commitment to accurate, actionable, and fraud-free data.
To try out SDK v5 in your app, you can follow our new v4 to v5 migration guide.
If you are a current Adjust client and have questions about SDK v5, please email sdk-v5@adjust.com.
In case you were using beta version of the SDK v5, please switch to the official v5 release.
- Fixed occasional crashes when processing resolved deep links.
- Added sending of the additional iOS SDK observability parameters for debugging purposes.
- Removed nullability type specifier warnings (ios_sdk#703).
- Added iOS Privacy Manifest for the Adjust SDK.
- Added new domains and corresponding payload restrictions for the Adjust SDK to direct the iOS traffic to:
https://consent.adjust.com- for consented usershttps://analytics.adjust.com- for non-consented users
- Added support for
TradPlusad revenue tracking.
- Fixed return type mismatch between native Android and Dart implementation of iOS specific methods (#122).
- Added ability to process shortened deep links and provide the unshortened link back as a response. You can achieve this by invoking
processDeeplinkmethod of theAdjustinstance.
- Added getter for obtaining IDFV value of the iOS device.
- Added support for Meta install referrer.
- Added support for Google Play Games on PC.
- Added support for
TopOnandAD(X)ad revenue tracking. - Added a new type of URL strategy called
AdjustConfig.UrlStrategyCnOnly. This URL strategy representsAdjustConfig.UrlStrategyCnstrategy, but without fallback domains. - Added
readDeviceInfoOnceEnabledmember toAdjustConfigto indicate if Android device info should be read only once.
- Added sending of
event_callback_idparameter (if set) with the event payload.
- Fixed issue with signing iOS requests post ATT delay timer expiry.
- Added support for SigV3 library. Update authorization header building logic to use
adj_signing_id. - Added ability to indicate if only final Android attribution is needed in attribution callback (by default attribution callback return intermediate attribution as well before final attribution if not enabled with this setter method) by setting the
androidFinalAttributionEnabledmember of theAdjustConfiginstance.
- Added support for Android apps using Gradle 8.0 or later.
- Added ability to delay SDK start on iOS platform in order to wait for an answer to the ATT dialog. You can set the number of seconds to wait (capped internally to 120) by setting the
attConsentWaitingIntervalmember of theAdjustConfiginstance. - Added support for purchase verification. In case you are using this feature, you can now use it by calling
verifyAppStorePurchase(for iOS) andverifyPlayStorePurchase(for Android) methods of theAdjustinstance.
- Skipped invocation of SKAN 4.0 style callback in case SKAN 4.0 API was not invoked (#104).
- Added support for SKAN 4.0.
- Added support for setting a new China URL Strategy. You can choose this setting by setting
urlStrategymember ofAdjustConfiginstance toAdjustConfig.UrlStrategyCnvalue.
- Added partner sharing settings to the third party sharing feature.
- Added
getLastDeeplinkgetter toAdjustAPI to be able to get last tracked deep link by the SDK for iOS platform.
- Switched to adding permission
com.google.android.gms.permission.AD_IDin the Android app's mainfest by default.
- Added support for
LinkMefeature. - Added support to get Facebook install referrer information in attribution callback.
- Added ability to mark your app as COPPA compliant. You can enable this setting by setting
coppaCompliantEnabledmember ofAdjustConfiginstance totrue. - Added ability to mark your Android app as app for the kids in accordance to Google Play Families policies. You can enable this setting by setting
playStoreKidsAppEnabledmember ofAdjustConfiginstance totrue. - Added
checkForNewAttStatusmethod toAdjustAPI to allow iOS apps to instruct to SDK to check ifatt_statusmight have changed in the meantime. - Added support for Generic ad revenue tracking.
- Reverted
compileSdkVersionfrom32to31(#77). - Changed responses which is being returned when iOS specific API is being called on Android platform (#79 and #80).
- Added support for
Unityad revenue tracking. - Added support for
Helium Chartboostad revenue tracking.
- Removed deprecated v1 way of plugin registration (#64).
- Migrated from
jcentertomavenCentralrepository (#72).
- Added support for
Admostad revenue source.
- Fixed compile time errors with Xcode 13.
- Added support for null safety (thanks to @blaueeiner).
- [beta] Added data residency feature. You can choose this setting by setting
urlStrategymember ofAdjustConfiginstance toAdjustConfig.DataResidencyEU(for EU data residency region),AdjustConfig.DataResidencyTR(for TR data residency region) orAdjustConfig.DataResidencyUSvalue (for US data residency region). - Added support for
Toponad revenue tracking. - Added support for
IronSourcead revenue tracking. - Added support for
AppLovin MAXad revenue tracking. - Added preinstall tracking with usage of system installer receiver on Android platform.
- Fixed attribution value comparison logic which might cause same attribution value to be delivered into attribution callback on iOS platform.
- Removed native iOS legacy code.
- Added possibility to get cost data information in attribution callback.
- Added
needsCostmember toAdjustConfigto indicate if cost data is needed in attribution callback (by default cost data will not be part of attribution callback if not enabled with this setter method). - Added
AdjustPlayStoreSubscriptionclass to be used when tracking Play Store subscriptions. - Added
AdjustAppStoreSubscriptionclass to be used when tracking App Store subscriptions. - Added
trackAppStoreSubscriptionmethod toAdjustinterface to allow tracking of App Store subscriptions. - Added
trackPlayStoreSubscriptionmethod toAdjustinterface to allow tracking of Play Store subscriptions. - Added public constants to be used as sources for ad revenue tracking with
trackAdRevenuemethod.
- Updated Gradle version to 6.5 (thanks to @MrtnvM).
- Fixed occasional NPEs in Android when firing callback methods.
- Added URL strategy constants to
AdjustConfigfor more straight forward feature usage.
- Added Flutter 1.2 or later support for Android projects.
- Removed
iosPrefixfrompubspec.yaml. - Removed
ADJprefix from Flutter iOS class names.
- Added communication with SKAdNetwork framework by default on iOS 14.
- Added method
deactivateSKAdNetworkHandlingmethod toAdjustConfigto switch off default communication with SKAdNetwork framework in iOS 14. - Added wrapper method
requestTrackingAuthorizationWithCompletionHandlertoAdjustto allow asking for user's consent to be tracked in iOS 14 and immediate propagation of user's choice to backend. - Added handling of new iAd framework error codes introduced in iOS 14.
- Added sending of value of user's consent to be tracked with each package.
- Added
urlStrategymember toAdjustConfigclass to allow selection of URL strategy for specific market.
- Changed referencing of native Android dependency from
implementationtoapi.
- Added subscription tracking feature.
- Added support for Huawei App Gallery install referrer.
- Updated communication flow with
iAd.framework.
- Added
disableThirdPartySharingmethod toAdjustinterface to allow disabling of data sharing with third parties outside of Adjust ecosystem. - Added support for signature library as a plugin.
- Added more aggressive sending retry logic for install session package.
- Added additional parameters to
ad_revenuepackage payload. - Added external device ID support.
- Fixed lack of
getAdidmethod implementation in native iOS bridge (thanks to @HenriBeck).
- Added
trackAdRevenuemethod toAdjustinterface to allow tracking of ad revenue. With this release added support forMoPubad revenue tracking. - Added reading of Facebook anonymous ID if available on iOS platform.
- Fixed issue when trying to register Android plugin more than once (#7).
- Official Flutter SDK release.
- Changed SDK API to be more Dart friendly.
- Changed SDK dependency in example app from local path to Flutter plugin repository.
- Added example app to repo.
- Added handling of process name for Android platform.
- Test release of Flutter SDK.
- Package available at: https://pub.dartlang.org/packages/adjust_sdk