public abstract class AppsFlyerLib
extends java.lang.Object
Constructor and Description |
---|
AppsFlyerLib() |
Modifier and Type | Method and Description |
---|---|
abstract void |
enableFacebookDeferredApplinks(boolean isEnabled)
Enable the collection of Facebook Deferred AppLinks
Requires Facebook SDK and Facebook app on target/client device.
|
abstract AppsFlyerLib |
enableLocationCollection(boolean flag)
Enable the AppsFlyer SDK to collect the last known location,
Requires
Manifest.permission#ACCESS_COARSE_LOCATION
and Manifest.permission#ACCESS_FINE_LOCATION Manifest permissions. |
abstract void |
enableUninstallTracking(java.lang.String senderId)
Deprecated.
see documentation
Manually set the sender ID for a Firebase / GCM project for Uninstall Tracking. |
abstract java.lang.String |
getAppsFlyerUID(android.content.Context context)
Get AppsFlyer's unique device ID is created for every new install of an app.
|
abstract java.lang.String |
getAttributionId(android.content.ContentResolver contentResolver)
Deprecated.
use
getAttributionId(Context) instead. |
abstract java.lang.String |
getAttributionId(android.content.Context context)
Get the Facebook attribution ID, if one exists.
|
abstract java.lang.String |
getHostName()
Get the host name used for tracking.
|
abstract java.lang.String |
getHostPrefix()
Get the custom set tracking host prefix.
|
static AppsFlyerLib |
getInstance()
Get the singleton instance of the AppsFlyerLib tracker object.
|
abstract java.lang.String |
getOutOfStore(android.content.Context context)
Get the current AF_STORE value.
|
abstract java.lang.String |
getSdkVersion()
Get the AppsFlyer SDK version used in app.
|
abstract AppsFlyerLib |
init(java.lang.String key,
AppsFlyerConversionListener conversionDataListener)
Use this method to initialize AppsFlyer SDK.
|
abstract AppsFlyerLib |
init(java.lang.String key,
AppsFlyerConversionListener conversionDataListener,
android.content.Context context)
Same as
init(String, AppsFlyerConversionListener)
with additional argument Context to handle new install referrer |
abstract boolean |
isPreInstalledApp(android.content.Context context)
Boolean indicator for preinstall by Manufacturer.
|
abstract boolean |
isTrackingStopped()
Was the
stopTracking(boolean, Context) API set to true. |
abstract void |
onHandleReferrer(java.util.Map<java.lang.String,java.lang.String> referrer)
Internal API.
|
abstract void |
onPause(android.content.Context context)
For Cocos2dx platform only
Cocos2dx has his own applicationDidEnterBackground event.
|
abstract void |
registerConversionListener(android.content.Context context,
AppsFlyerConversionListener conversionDataListener)
Register a Conversion Data Listener.
|
abstract void |
registerValidatorListener(android.content.Context context,
AppsFlyerInAppPurchaseValidatorListener validationListener)
|
abstract void |
reportTrackSession(android.content.Context ctx)
If your app is a utility app running in the background you can use this API in your activity’s onCreate()
|
abstract void |
sendDeepLinkData(android.app.Activity activity)
Send tracking data from deep-linkable Activity.
|
abstract void |
sendPushNotificationData(android.app.Activity activity)
Allows you to measure push notifications as part of a retargeting campaign.
|
abstract void |
setAdditionalData(java.util.HashMap<java.lang.String,java.lang.Object> customData)
Set additional data to be sent to AppsFlyer.
|
abstract void |
setAndroidIdData(java.lang.String aAndroidId)
By default, IMEI and Android ID are not collected by the SDK if the OS version is higher than KitKat (4.4)
and the device contains Google Play Services (on SDK versions 4.8.8 and below the specific app needed GPS).
|
abstract void |
setAppId(java.lang.String id) |
abstract void |
setAppInviteOneLink(java.lang.String oneLinkId)
Set the OneLink ID that should be used for User-Invite-tracking
The link that is generated for the user invite will use this OneLink as the base link.
|
abstract void |
setAppUserId(java.lang.String id)
Deprecated.
use
setCustomerUserId(String) instead |
abstract void |
setCollectAndroidID(boolean isCollect)
Opt-out of collection of Android ID.
|
abstract void |
setCollectFingerPrint(boolean isCollect)
Deprecated.
|
abstract void |
setCollectIMEI(boolean isCollect)
Opt-out of collection of IMEI.
|
abstract void |
setCollectOaid(boolean isCollect)
Opt-in of collection of OAID.
|
abstract void |
setConsumeAFDeepLinks(boolean doConsume)
Restrict the tracking of reengagement via deep-link to once per each unique deep-link.
|
abstract void |
setCurrencyCode(java.lang.String currencyCode)
Setting user local currency code for in-app purchases.
|
abstract void |
setCustomerIdAndTrack(java.lang.String id,
android.content.Context context)
Use this API to provide the SDK with the relevant customer user id and trigger the SDK to begin its normal tracking.
|
abstract void |
setCustomerUserId(java.lang.String id)
Setting your own customer ID enables you to cross-reference your own unique ID with AppsFlyer’s unique ID and the other devices’ IDs.
|
abstract void |
setDebugLog(boolean shouldEnable)
Enables Debug logs for the AppsFlyer SDK.
|
abstract void |
setDeviceTrackingDisabled(boolean isDisabled)
Anonymize user Data.
|
abstract void |
setExtension(java.lang.String extension)
SDK plugins and extensions will set this field
|
abstract void |
setGCMProjectID(java.lang.String projectNumber)
Deprecated.
use
enableUninstallTracking(String) instead. |
abstract void |
setGCMProjectNumber(android.content.Context context,
java.lang.String projectNumber)
Deprecated.
use
enableUninstallTracking(String) instead. |
abstract void |
setGCMProjectNumber(java.lang.String projectNumber)
Deprecated.
use
enableUninstallTracking(String) instead. |
abstract void |
setHost(java.lang.String hostPrefixName,
java.lang.String hostName)
Set a custom host for tracking.
|
abstract void |
setHostName(java.lang.String hostname)
Deprecated.
|
abstract void |
setImeiData(java.lang.String aImei)
By default, IMEI and Android ID are not collected by the SDK if the OS version is higher than KitKat (4.4)
and the device contains Google Play Services (on SDK versions 4.8.8 and below the specific app needed GPS).
|
abstract void |
setIsUpdate(boolean isUpdate)
Manually set that the application was updated.
|
abstract void |
setLogLevel(AFLogger.LogLevel logLevel)
Sets the SDK's Log Level.
|
abstract void |
setMinTimeBetweenSessions(int seconds)
Set a custom value for the minimum required time between sessions.
|
abstract void |
setOaidData(java.lang.String oaid)
By default, OAID is not collected by the SDK.
|
abstract void |
setOneLinkCustomDomain(java.lang.String... domains) |
abstract void |
setOutOfStore(java.lang.String sourceName)
Manually set the AF_STORE value.
|
abstract void |
setPhoneNumber(java.lang.String phoneNumber)
Will be sent as SHA-256
|
abstract void |
setPluginDeepLinkData(android.content.Intent intent)
SDK plugins and extensions will set this field
|
abstract void |
setPreinstallAttribution(java.lang.String mediaSource,
java.lang.String campaign,
java.lang.String siteId)
Specify the manufacturer or media source name to which the preinstall is attributed.
|
abstract void |
setResolveDeepLinkURLs(java.lang.String... urls)
Advertisers can wrap AppsFlyer OneLink within another Universal Link.
|
abstract void |
setUserEmail(java.lang.String email)
Deprecated.
|
abstract void |
setUserEmails(AppsFlyerProperties.EmailsCryptType cryptMethod,
java.lang.String... emails)
Set the user emails and encrypt them.
|
abstract void |
setUserEmails(java.lang.String... emails)
Set the user emails
|
abstract void |
startTracking(android.app.Application application)
Use this method to start tracking the application,
only if you call 'init' inside you Application class's onCreate method.
|
abstract void |
startTracking(android.app.Application application,
java.lang.String key)
Use this method to start tracking the application.
|
abstract void |
startTracking(android.app.Application application,
java.lang.String key,
AppsFlyerTrackingRequestListener onTrackingRequestListener)
Use this method to start tracking the application.
|
abstract void |
stopTracking(boolean isTrackingStopped,
android.content.Context context)
Once this API is invoked, our SDK no longer communicates with our servers and stops functioning.
|
abstract void |
trackAppLaunch(android.content.Context ctx,
java.lang.String devKey)
Send an immediate launch event (regardless of lifecycle)
|
abstract void |
trackEvent(android.content.Context context,
java.lang.String eventName,
java.util.Map<java.lang.String,java.lang.Object> eventValues)
Track an In-App Event.
|
abstract void |
trackEvent(android.content.Context context,
java.lang.String eventName,
java.util.Map<java.lang.String,java.lang.Object> eventValues,
AppsFlyerTrackingRequestListener onTrackingRequestListener)
|
abstract void |
trackLocation(android.content.Context context,
double latitude,
double longitude)
Manually track the location of the user
|
abstract void |
unregisterConversionListener()
Unregister a previously registered AppsFlyerConversionListener.
|
abstract void |
updateServerUninstallToken(android.content.Context context,
java.lang.String token)
Manually pass the Firebase / GCM Device Token for Uninstall Tracking.
|
abstract void |
validateAndTrackInAppPurchase(android.content.Context context,
java.lang.String publicKey,
java.lang.String signature,
java.lang.String purchaseData,
java.lang.String price,
java.lang.String currency,
java.util.Map<java.lang.String,java.lang.String> additionalParameters)
API for server verification of in-app purchases.
|
abstract void |
waitForCustomerUserId(boolean wait)
It is possible to delay the SDK Initialization until the customerUserID is set.
|
public static AppsFlyerLib getInstance()
public abstract void stopTracking(boolean isTrackingStopped, android.content.Context context)
isTrackingStopped
- should tracking be stopped.context
- Application / Activity context.public abstract java.lang.String getSdkVersion()
public abstract void onPause(android.content.Context context)
@Deprecated public abstract void setGCMProjectID(java.lang.String projectNumber)
enableUninstallTracking(String)
instead.@Deprecated public abstract void setGCMProjectNumber(java.lang.String projectNumber)
enableUninstallTracking(String)
instead.@Deprecated public abstract void setGCMProjectNumber(android.content.Context context, java.lang.String projectNumber)
enableUninstallTracking(String)
instead.@Deprecated public abstract void enableUninstallTracking(java.lang.String senderId)
senderId
- Firebase / GCM Sender ID.public abstract void updateServerUninstallToken(android.content.Context context, java.lang.String token)
context
- Application / Activity context.token
- Firebase / GCM Device Token.public abstract void setDebugLog(boolean shouldEnable)
shouldEnable
- boolean.public abstract void setImeiData(java.lang.String aImei)
aImei
- device's IMEI.public abstract void setOaidData(java.lang.String oaid)
oaid
- device's OAID.public abstract void setAndroidIdData(java.lang.String aAndroidId)
aAndroidId
- device's Android ID.public abstract AppsFlyerLib enableLocationCollection(boolean flag)
Manifest.permission#ACCESS_COARSE_LOCATION
and Manifest.permission#ACCESS_FINE_LOCATION
Manifest permissions.flag
- boolean.@Deprecated public abstract void setAppUserId(java.lang.String id)
setCustomerUserId(String)
insteadpublic abstract void setCustomerUserId(java.lang.String id)
id
- Customer ID for client.public abstract void setPhoneNumber(java.lang.String phoneNumber)
public abstract void waitForCustomerUserId(boolean wait)
wait
- boolean.public abstract void setCustomerIdAndTrack(java.lang.String id, android.content.Context context)
id
- Customer ID for client.context
- Application / Activity context.public abstract java.lang.String getOutOfStore(android.content.Context context)
context
- Application / Activity context.public abstract void setOutOfStore(java.lang.String sourceName)
sourceName
- value to be set.public abstract void setAppInviteOneLink(java.lang.String oneLinkId)
oneLinkId
- OneLink ID obtained from the AppsFlyer Dashboard.public abstract void setAdditionalData(java.util.HashMap<java.lang.String,java.lang.Object> customData)
customData
- additional data HashMap.public abstract void sendDeepLinkData(android.app.Activity activity)
activity
- The Activity used for deep linking.public abstract void sendPushNotificationData(android.app.Activity activity)
activity
- The Activity which will be launched upon clicking the notification.@Deprecated public abstract void setUserEmail(java.lang.String email)
setUserEmails(AppsFlyerProperties.EmailsCryptType, String...)
insteadpublic abstract void setUserEmails(java.lang.String... emails)
emails
- User emails.public abstract void setUserEmails(AppsFlyerProperties.EmailsCryptType cryptMethod, java.lang.String... emails)
cryptMethod
- Encryption method:
AppsFlyerProperties.EmailsCryptType.NONE,
AppsFlyerProperties.EmailsCryptType.SHA1,
AppsFlyerProperties.EmailsCryptType.MD5,
AppsFlyerProperties.EmailsCryptType.SHA256emails
- User emails.public abstract void setCollectAndroidID(boolean isCollect)
isCollect
- boolean, false to opt-out.public abstract void setCollectIMEI(boolean isCollect)
isCollect
- boolean, false to opt-out.public abstract void setCollectOaid(boolean isCollect)
isCollect
- boolean, true to opt-in.@Deprecated public abstract void setCollectFingerPrint(boolean isCollect)
public abstract void setResolveDeepLinkURLs(java.lang.String... urls)
setResolveDeepLinkURLs
API allows to Appsflyer SDK to resolve
provided urls, to be able to deep link from a OneLink
wrapped within another Universal Link and also track this retargeting
conversion.
For example:
"example.com"
"example.com/param1"
"example.com/param1/param2"
Note, if "example.com"
is provided, the App link "my.example.com"
will not match because of prefix "my."
Be sure to provide explicit url names
urls
- - Array of urlspublic abstract void setOneLinkCustomDomain(java.lang.String... domains)
public abstract AppsFlyerLib init(java.lang.String key, AppsFlyerConversionListener conversionDataListener)
key
- AppsFlyer's Dev-Key, which is accessible from your AppsFlyer
account, under 'App Settings' in the dashboard.conversionDataListener
- (Optional) implement the ConversionDataListener to
access AppsFlyer's conversion data. Can be null.public abstract AppsFlyerLib init(java.lang.String key, AppsFlyerConversionListener conversionDataListener, android.content.Context context)
init(String, AppsFlyerConversionListener)
with additional argument Context
to handle new install referrerpublic abstract void startTracking(android.app.Application application)
startTracking(Application, String)
application
- the Application object which is used for registering
for the app's life-cyclepublic abstract void startTracking(android.app.Application application, java.lang.String key)
application
- the Application object which is used for registering
for the app's life-cyclekey
- AppsFlyer's Dev-Key, which is accessible from your AppsFlyer account,
under 'App Settings' in the dashboard.public abstract void startTracking(android.app.Application application, java.lang.String key, AppsFlyerTrackingRequestListener onTrackingRequestListener)
application
- the Application object which is used for registering
for the app's life-cyclekey
- AppsFlyer's Dev-Key, which is accessible from your AppsFlyer
account, under 'App Settings' in the dashboard.onTrackingRequestListener
- An optional listener for getting the request status -
A 200 OK response from server will invoke the
onTrackingRequestSuccess() method
onTrackingRequestFailure(String error) will return the error
in case one occurspublic abstract void setAppId(java.lang.String id)
public abstract void setExtension(java.lang.String extension)
public abstract void setIsUpdate(boolean isUpdate)
isUpdate
- boolean valuepublic abstract void setCurrencyCode(java.lang.String currencyCode)
currencyCode
- 3 character ISO 4217 codepublic abstract void trackLocation(android.content.Context context, double latitude, double longitude)
context
- Application / Activity contextlatitude
- latitude as doublelongitude
- longitude as doublepublic abstract void trackAppLaunch(android.content.Context ctx, java.lang.String devKey)
ctx
- Application / Activity contextdevKey
- AppsFlyer's Dev-Key, which is accessible from your AppsFlyer account,
under 'App Settings' in the dashboard.public abstract void setPluginDeepLinkData(android.content.Intent intent)
intent
- Activity intentpublic abstract void reportTrackSession(android.content.Context ctx)
ctx
- Application / Activity contextpublic abstract void trackEvent(android.content.Context context, java.lang.String eventName, java.util.Map<java.lang.String,java.lang.Object> eventValues)
context
- Application / Activity contexteventName
- Event Name as StringeventValues
- Event Values as Mappublic abstract void trackEvent(android.content.Context context, java.lang.String eventName, java.util.Map<java.lang.String,java.lang.Object> eventValues, AppsFlyerTrackingRequestListener onTrackingRequestListener)
trackEvent(Context, String, Map)
with
AppsFlyerTrackingRequestListener
. HttpURLConnection.HTTP_OK
from
server will invoke the AppsFlyerTrackingRequestListener.onTrackingRequestSuccess()
method. AppsFlyerTrackingRequestListener.onTrackingRequestFailure(String)
will return
the error in case one occurspublic abstract void setDeviceTrackingDisabled(boolean isDisabled)
isDisabled
- booleanpublic abstract void enableFacebookDeferredApplinks(boolean isEnabled)
isEnabled
- should Facebook's deferred app links be processed by the AppsFlyer SDK.public abstract void registerConversionListener(android.content.Context context, AppsFlyerConversionListener conversionDataListener)
context
- Application / Activity contextconversionDataListener
- AppsFlyerConversionListener interface with
onInstallConversionDataLoaded
and onAppOpenAttribution
callback methods.public abstract void unregisterConversionListener()
public abstract void registerValidatorListener(android.content.Context context, AppsFlyerInAppPurchaseValidatorListener validationListener)
validateAndTrackInAppPurchase(android.content.Context, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)
API.context
- Application / Activity context.validationListener
- AppsFlyerInAppPurchaseValidatorListener interface with \
onValidateInApp
and onValidateInAppFailure
callback methodspublic abstract void setConsumeAFDeepLinks(boolean doConsume)
doConsume
- booleanpublic abstract void setPreinstallAttribution(java.lang.String mediaSource, java.lang.String campaign, java.lang.String siteId)
mediaSource
- Manufacturer or media source name for preinstall attribution.campaign
- Campaign name for preinstall attribution.siteId
- Site ID for preinstall attribution.public abstract boolean isPreInstalledApp(android.content.Context context)
context
- Application / Activity context.public abstract java.lang.String getAttributionId(android.content.Context context)
@Deprecated public abstract java.lang.String getAttributionId(android.content.ContentResolver contentResolver)
getAttributionId(Context)
instead.contentResolver
- ContentResolver, applications access to the content model.public abstract java.lang.String getAppsFlyerUID(android.content.Context context)
context
- Application / Activity context.public abstract void validateAndTrackInAppPurchase(android.content.Context context, java.lang.String publicKey, java.lang.String signature, java.lang.String purchaseData, java.lang.String price, java.lang.String currency, java.util.Map<java.lang.String,java.lang.String> additionalParameters)
context
- Application / Activity context.publicKey
- License Key obtained from the Google Play Console.signature
- data.INAPP_DATA_SIGNATURE
from onActivityResult(int requestCode, int resultCode, Intent data)
purchaseData
- data.INAPP_PURCHASE_DATA
from onActivityResult(int requestCode, int resultCode, Intent data)
price
- Purchase price, should be derived from skuDetails.getStringArrayList("DETAILS_LIST")
currency
- Purchase currency, should be derived from skuDetails.getStringArrayList("DETAILS_LIST")
additionalParameters
- Freehand parameters to be tracked with the purchase (if validated).public abstract void onHandleReferrer(java.util.Map<java.lang.String,java.lang.String> referrer)
referrer
- NA.public abstract boolean isTrackingStopped()
stopTracking(boolean, Context)
API set to true.public abstract void setMinTimeBetweenSessions(int seconds)
seconds
- minimum time between 2 separate sessions in seconds.public abstract void setLogLevel(AFLogger.LogLevel logLevel)
logLevel
- logLevel as String:
AFLogger.LogLevel.NONE,
AFLogger.LogLevel.ERROR,
AFLogger.LogLevel.WARNING,
AFLogger.LogLevel.INFO,
AFLogger.LogLevel.DEBUG,
AFLogger.LogLevel.VERBOSE.public abstract void setHost(java.lang.String hostPrefixName, java.lang.String hostName)
hostPrefixName
- Host prefix.hostName
- Host name.public abstract java.lang.String getHostName()
public abstract java.lang.String getHostPrefix()
@Deprecated public abstract void setHostName(java.lang.String hostname)