π In order for us to provide optimal support, we would kindly ask you to submit any issues to support@appsflyer.com
When submitting an issue please specify your AppsFlyer sign-up (account) email , your app ID , production steps, logs, code snippets and any additional relevant information.
π The Unity documentation also be found here
- Android AppsFlyer SDK v6.17.3
- Android Purchase Connector 2.1.0
- iOS AppsFlyer SDK v6.17.7
- iOS Purchase Connector 6.17.7
We have released two versions of the AppsFlyer Unity plugin to support teams at different stages of migrating to Google Play Billing Library v8.0.0.
- Whatβs included: Support for Google Play Billing Library 8.0.0 on Android (Android Purchase Connector version - 2.2.0).
- Impact: This version may introduce breaking changes for apps that have not yet migrated to the Billing v8 APIs.
- Unity IAP requirement: If you choose this option, update Unity IAP (
com.unity.purchasing) to version 5.0.0 or newer (we recommend the latest 5.x). Unity IAP 4.x does not include Billing v8.
- Purpose: For developers not ready to adopt Billing v8.
- Bundled SDKs: iOS SDK 6.17.7 and Android SDK 6.17.3.
- Impact: Lets you update the AppsFlyer SDKs without changing your existing (preβv8) billing integration.
Note: Google Play Billing changes are Androidβonly; iOS is unaffected.
In v6.8.0 of the AppsFlyer SDK, we added the normal permission com.google.android.gms.permission.AD_ID to the SDK's AndroidManifest, to allow the SDK to collect the Android Advertising ID on apps targeting API 33. If your app is targeting children, you need to revoke this permission to comply with Google's Data policy. You can read more about it here.
- Starting from version 6.17.1, the Purchase Connector is now integrated directly into the main AppsFlyer Unity plugin. You no longer need to download, import, or maintain a separate Purchase Connector package.
- If you were previously using the standalone Purchase Connector from a separate repository, simply remove any references to
using AppsFlyerConnector;from your codebase, as its functionality is now included in the main plugin under theAppsFlyerSDKnamespace. - The Purchase Connector now supports StoreKit 2 for iOS 15+ alongside the existing StoreKit 1 support.
- For detailed migration instructions and new features, see our Purchase Connector documentation.
- In-App Purchase Validation API Changes: The
validateAndSendInAppPurchasemethod signatures have been updated for better type safety and cleaner code. - V2 Methods (Recommended): New overloads using structured data classes (
AFPurchaseDetailsAndroid/AFSDKPurchaseDetailsIOS) are now the recommended approach. - Legacy Methods (Deprecated): The old string-based parameter methods are now deprecated but maintained for backward compatibility.
- Migration Required: If you're using the old
validateAndSendInAppPurchasemethods, consider migrating to the V2 versions for better maintainability. - For detailed API documentation and migration examples, see our API reference.
- Starting from version 6.12.20, we have changed the way we distribute the plugin via UPM. The UPM branches will no longer hold a dependency for
com.google.external-dependency-manageras it was proved to cause issues in different versions of Unity - to be clear, this dependency is still required to utilize our plugin, we just can't distribute the plugin with it in UPM form as the EDM4U dependency is not available via UPM for quite a while already but is still available via.unitypackageor.tgzfiles, if you use UPM to fetch our plugin - please download a suitable version of EDM4U so you will be able to resolve the dependencies, or opt for an installation without EDM4U.
- Starting version 6.6.0, there is no more need to differentiate between iOS and Android APIs. All APIs must be called with
AppsFlyerclass (even if the API is only iOS or Android). - Please take into consideration that since version 6.6.0, most of the APIs require
initSDKto be called prior to using them, and since version 6.10.10 only a handful of APIs will properly work when called prior to initialization:setIsDebug,setCurrencyCode,setHost,disableSKAdNetwork.
Example:
Before 6.6.0:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyeriOS.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endifAfter 6.6.0:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endifThe plugin supports a Strict Mode which completely removes the IDFA collection functionality and AdSupport framework dependencies. Use the Strict Mode when developing apps for kids, for example. More information about how to install the Strict Mode is available here.
In v6.8.0 of the AppsFlyer SDK, we added the normal permission com.google.android.gms.permission.AD_ID to the SDK's AndroidManifest, to allow the SDK to collect the Android Advertising ID on apps targeting API 33. If your app is targeting children, you need to revoke this permission to comply with Google's Data policy. You can read more about it here.
- Installation
- Integration
- Test integration
- In-app events
- Send Consent for DMA Compliance
- Uninstall measurement
