https://github.com/appsflyersdk/appsflyer-adobe-mobile-android-extension
AppsFlyer Android SDK Extension for Adobe Mobile SDK
https://github.com/appsflyersdk/appsflyer-adobe-mobile-android-extension
Last synced: 10 months ago
JSON representation
AppsFlyer Android SDK Extension for Adobe Mobile SDK
- Host: GitHub
- URL: https://github.com/appsflyersdk/appsflyer-adobe-mobile-android-extension
- Owner: AppsFlyerSDK
- Created: 2018-12-02T09:56:51.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-22T03:43:10.000Z (almost 2 years ago)
- Last Synced: 2025-07-15T20:15:13.852Z (11 months ago)
- Language: Java
- Size: 990 KB
- Stars: 2
- Watchers: 6
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# appsflyer-adobe-mobile-android-extension
π 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.*
## Table of content
- [Adding the SDK to your project](#add-sdk-to-project)
- [Initializing the SDK](#init-sdk)
- [Manual mode](#manual-mode)
- [Guides](#guides)
- [API](#api)
- [Data Elements](#data-elements)
- [Initializing the SDK](#init-sdk)
- [Send consent for DMA compliance](#send-consent-for-DMA-compliance)
### This plugin is built for
- Android AppsFlyer SDK **v6.13.0**
## π² Adding the SDK to your project
Add the following to your app's `build.gradle (Module: app)` file:
```groovy
repositories {
mavenCentral()
}
dependencies {
...
implementation 'com.appsflyer:appsflyer-adobe-sdk-extension:6.+'
implementation 'com.android.installreferrer:installreferrer:1.1'
}
```
> Add the installreferrer library to improve attribution accuracy, protects from install fraud and more.
In Addition to adding the init code, the settings inside the launch dashboard must be set.

| Setting | Description |
| -------- | ------------- |
| AppsFlyer iOS App ID | Your iTunes [application ID](https://support.appsflyer.com/hc/en-us/articles/207377436-Adding-a-new-app#available-in-the-app-store-google-play-store-windows-phone-store) (required for iOS only) |
| AppsFlyer Dev Key | Your application [devKey](https://support.appsflyer.com/hc/en-us/articles/211719806-Global-app-settings-#sdk-dev-key) provided by AppsFlyer (required) |
| Bind in-app events for | Bind adobe event to appsflyer in-app events. For more info see the doc [here](/docs/Guides.md#events). |
| Send attribution data | Send conversion data from the AppsFlyer SDK to adobe. This is required for data elements. |
| Debug Mode | Debug mode - set to `true` for testing only. |
| Wait for ECID | Once enabled, the SDK Initialization will be delayed until the Experience Cloud ID is set. |
> Note: For Send attribution data, use this feature if you are only working with ad networks that allow sharing user level data with 3rd party tools.
## π Guides
- [Deep Linking](/docs/Guides.md#deeplinking)
- [In-App Events](/docs/Guides.md#events)
- [Data Elements](/docs/Guides.md#data-elements)
- [Attribution Data tracking with Adobe Analytics](/docs/Guides.md#attr-data)
- [Deeplink Data tracking with Adobe Analytics](/docs/Guides.md#deeplink-data)
- [Adobe Analytics](/docs/AdobeAnalytics.md)
## π API
See the full [API](/docs/API.md) available for this plugin.
## π Data Elements
Check out the available data elements [here](/docs/DataElements.md).
AppsFlyerAdobeExtension.registerAppsFlyerExtensionCallbacks(new AppsFlyerExtensionCallbacksListener() {
...
});
} catch (Exception ex) {
Log.d("AdobeException: ",ex.toString());
}
}
```
### Manually collect consent data
If your app does not use a CMP compatible with TCF v2.2, use the SDK API detailed below to provide the consent data directly to the SDK.
- Initialize
AppsflyerAdobeExtension using manual mode and also MobileCore. This will allow us to delay the Conversion call in order to provide the SDK with the user consent.
- In the
Activity class, determine whether the GDPR applies or not to the user.
- If GDPR applies to the user, perform the following:
- Given that GDPR is applicable to the user, determine whether the consent data is already stored for this session.
- If there is no consent data stored, show the consent dialog to capture the user consent decision.
- If there is consent data stored continue to the next step.
- To transfer the consent data to the SDK create an object called
AppsFlyerConsent using the forGDPRUser() method with the following parameters:
- hasConsentForDataUsage - Indicates whether the user has consented to use their data for advertising purposes.
- hasConsentForAdsPersonalization - Indicates whether the user has consented to use their data for personalized advertising purposes.
- Call
AppsFlyerLib.getInstance().setConsentData() with the AppsFlyerConsent object.
- Call
AppsFlyerLib.getInstance().start(this).
- If GDPR doesnβt apply to the user perform the following:
- Create an
AppsFlyerConsent object using the forNonGDPRUser() method. This method doesnβt accept any parameters.
- Call
AppsFlyerLib.getInstance().setConsentData() with the AppsFlyerConsent object.
- Call
AppsFlyerLib.getInstance().start(this).