AppsFlyerLib

总览

AppsFlyerLib 是AppsFlyer Android SDK的主类,包含了大部分方法。

回到SDK参考索引

导入资料库

import com.appsflyer.AppsFlyerLib;

访问SDK实例

访问SDK单例实例:

AppsFlyerLib appsflyer = AppsFlyerLib.getInstance();

方法

addPushNotificationDeepLinkPath

方法签名

void addPushNotificationDeepLinkPath(java.lang.String... deepLinkPath)

描述
设置SDK从推送消息payload中提取深度链接值的方式。

输入参数

类型名称描述
String...deepLinkPathAn array of Strings that corresponds to the JSON path of the deep link.

返回
void.

用法示例
Basic configuration:

AppsFlyerLib.getInstance().addPushNotificationDeepLinkPath("af_push_link");
AppsFlyerLib.getInstance().addPushNotificationDeepLinkPath("af_push_link")

Advanced configuration:

AppsFlyerLib.getInstance().addPushNotificationDeepLinkPath("deeply", "nested", "deep_link");
AppsFlyerLib.getInstance().addPushNotificationDeepLinkPath("deeply", "nested", "deep_link")

此调用方法可匹配以下调用方法:

{
  "deeply": {
    "nested": {
      "deep_link": "https://yourdeeplink2.onelink.me"
    }
  }
}

anonymizeUser

方法签名

void anonymizeUser(boolean shouldAnonymize)

描述
匿名化用户的安装、事件和会话。

输入参数

类型名称描述
booleanshouldAnonymizeDefaults to false.

返回
void

用法示例

AppsFlyerLib.getInstance().anonymizeUser(true);
AppsFlyerLib.getInstance().anonymizeUser(true)

appendParametersToDeepLinkingURL

方法签名

void appendParametersToDeepLinkingURL(java.lang.String contains,
                                                      java.util.Map<java.lang.String,java.lang.String> parameters)

描述
让广告主使用App Link实现深度链接(在不借助OneLink的情况下)对通过与其应用相关的域名发起的session(应用打开)进行归因。

🚧

Call this method before calling start

You must provide the following parameters in the parameters Map:

  • pid
  • is_retargeting 必须设置为 true

输入参数

类型名称描述
Stringcontains A string contained in the deep link URL
Map<String, String>parameters将附加到匹配URL的归因参数

返回
void

用法示例

HashMap<String, String> urlParameters = new HashMap<>();
urlParameters.put("pid", "exampleDomain"); // Required
urlParameters.put("is_retargeting", "true"); // Required
AppsFlyerLib.getInstance().appendParametersToDeepLinkingURL("example.com", urlParameters);
AppsFlyerLib.getInstance().appendParametersToDeepLinkingURL("example.com",
mapOf("pid" to "exampleDomain", "is_retargeting" to "true")) // Required

在上述的例子中,最终发送到AppsFlyer服务器到是:

example.com?pid=exampleDomain&is_retargeting=true

enableFacebookDeferredApplinks

方法签名

void enableFacebookDeferredApplinks(boolean isEnabled)

描述
启用Facebook延迟应用链接集合。目标/客户端设备上需要Facebook SDK和Facebook应用程序。

必须在初始化AppsFlyer SDK之前调用此API才能正常运行。
输入参数

类型名称描述
booleanisEnabled Facebook的延迟应用链接是否应由AppsFlyer SDK处理。

返回
void

enableLocationCollection

Removed in V6.8.0

方法签名

AppsFlyerLib enableLocationCollection(boolean flag)

描述
Enable the AppsFlyer SDK to collect the last known location. Requires ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION Manifest permissions.

输入参数

类型名称描述
booleanflag

返回
void

enableTCFDataCollection

方法签名

AppsFlyerLib enableTCFDataCollection (boolean flag)

描述

Enables the collection of Transparency and Consent Framework (TCF) data from SharedPreferences. The data was placed in SharedPreferences by the device TCF v2.2 compatible Consent Management Platform (CMP).

输入参数

类型名称描述
布尔flagA boolean value to enable (true) or disable (false) the collection of TCF data. The SDK collects TCF data when the flag is set to true.

返回
void

getAppsFlyerUID

方法签名

java.lang.String getAppsFlyerUID(Context context)

描述
Get AppsFlyer's unique device ID. The SDK generates an AppsFlyer unique device ID upon app installation. When the SDK is started, this ID is recorded as the ID of the first app install.

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。

返回
AppsFlyer的唯一设备ID。

用法示例

String appsFlyerId = AppsFlyerLib.getInstance().getAppsFlyerUID(this);
String appsFlyerId = AppsFlyerLib.getInstance().getAppsFlyerUID(this)

getAttributionId

方法签名

java.lang.String getAttributionId(Context context)

描述
获取Facebook的归因ID(如果存在)。

输入参数

类型名称描述
Contextcontext应用程序/行为情景。

返回
void

用法示例

String attributionId = AppsFlyerLib.getInstance().getAttributionId(this);
String attributionId = AppsFlyerLib.getInstance().getAttributionId(this)

getHostName

方法签名

java.lang.String getHostName()

描述
获取主机名称。
默认值为“appsflyer.com”

输入参数
该函数没有参数。

返回

类型描述
String当前设置的主机名称。

用法示例

getHostPrefix

方法签名

java.lang.String getHostPrefix()

描述
获取自定义设置的主机前缀。

输入参数
该函数没有参数。

返回
主机前缀。

getInstance

方法签名

AppsFlyerLib getInstance()

描述
返回SDK实例,通过该实例可以访问本文档中描述的方法。

输入参数
该函数没有参数。

返回
AppsFlyerLib单例实例。

getOutOfStore

方法签名

java.lang.String getOutOfStore(Context context)

描述
获取第三方应用商店引荐来源值。

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。

返回
AF_Store 值。

getSdkVersion

方法签名

java.lang.String getSdkVersion()

描述
获取应用程序中使用的AppsFlyer SDK版本。

输入参数
该函数没有参数。

返回
AppsFlyer SDK版本。

init

方法签名

AppsFlyerLib init(java.lang.String key,
                                  AppsFlyerConversionListener conversionDataListener,
                                  Context context)

描述
Use this method to initialize AppsFlyer SDK. This API should be called inside the Application's onCreate 方法。

输入参数

类型名称描述
StringkeyAppsFlyer开发者密钥
AppsFlyerConversionDataListenerconversionDataListener(可选)实现AppsFlyerConversionDataListener以访问AppsFlyer的转化数据。可以为空。
Contextcontext应用程序情景。

返回
void

用法示例
请参阅初始化SDK

isPreInstalledApp

方法签名

boolean isPreInstalledApp(Context context)

描述
制造商预安装的布尔指标。

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。

返回
boolean.

用法示例

isStopped

方法签名

boolean isStopped()

描述
检查SDK是否已停止。

输入参数
该函数没有参数。

返回

类型描述
boolean true if stopped, false otherwise.

用法示例

logAdRevenue

Added in v6.15.0
方法签名


public abstract void logAdRevenue(
            @NonNull AFAdRevenueData adRevenueData, 
            @Nullable Map<String, Object> additionalParameters
    );

描述

The method sends an ad revenue event to AppsFlyer. See more information in Ad revenue.

输入参数

名称类型描述
adRevenueDataAFAdRevenueDataAn object that encapsulates all the mandatory parameters of the adRevenue event. The object is passed to the logAdRevenue method.
additionalParametersMap<String, Object>An optional dictionary containing additional parameters to log with the adRevenue event.

返回

void.

AFAdRevenueData

An object that encapsulates all mandatory adRevenue data received from the mediation network.

Definition

data class AFAdRevenueData(
    val monetizationNetwork: String,
    val mediationNetwork: MediationNetwork,
    val currencyIso4217Code: String,
    val revenue: Double
)

AFAdRevenueData parameters

名称类型描述
monetizationNetwork文字The monetization network name.
mediationNetworkMediationNetworkThe mediation network enum.
currencyIso4217Code文字The ad revenue event currency is a String validated against currencyIso4217Code
revenueDoubleThe ad revenue event amount.

MediationNetwork

名称类型Comments
ironsource文字
applovinmax文字
googleadmob文字
fyber文字
appodeal文字
admost文字
topon文字
tradplus文字
yandex文字
chartboost文字
unity文字
customMediation文字The mediation solution is not on the list of supported mediation partners.
directMonetizationNetwork文字The app integrates directly with monetization networks without mediation.

logEvent

方法签名

void logEvent(Context context,
                              java.lang.String eventName,
                              java.util.Map<java.lang.String,java.lang.Object> eventValues)

描述
记录应用内事件。

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。
StringeventName 事件名称
MapeventValues 事件值

返回
void

用法示例

logEvent

方法签名

void logEvent(Context context,
                              java.lang.String eventName,
                              java.util.Map<java.lang.String,java.lang.Object> eventValues,
                              AppsFlyerRequestListener listener)

描述
Same as logEvent, with AppsFlyerRequestListener. HttpURLConnection.HTTP_OK from
server will invoke the AppsFlyerRequestListener#onSuccess()
method. AppsFlyerRequestListener#onError(int, String) will return
the error in case one occurs

输入参数
This function takes no parameters.
Returns
void

用法示例

logLocation

方法签名

void logLocation(Context context,
                                 double latitude,
                                 double longitude)

描述
Manually log the location of the user.

This method creates an af_location_coordinates in-app event, with the af_lat and af_long event parameters.

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。
doublelatitude 纬度
doublelongitude 经度

返回
void

用法示例

logSession

方法签名

void logSession(Context ctx)

描述
如果您的应用程序是后台实用应用程序,可以在行为的onCreate()中使用此API手动记录和发送互动。

输入参数

类型名称描述
Contextctx应用程序/行为情景。

用法示例

public void logSession(Context context);
public void logSession(Context context)

返回
void

onPause

方法签名

void onPause(Context context)

描述
仅适用于Cocos2dx平台
Cocos2dx有自己的applicationDidEnterBackground事件。
因此,JNI将从C++调用“onPause”

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。

返回
void

用法示例

performOnAppAttribution

自V6.3.2起已弃用
方法签名

void performOnAppAttribution(Context context,
                                             java.net.URI link)

描述
用于手动解析深度链接。

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。
java.net.URIlink 要解析的链接

返回
void

用法示例

AppsFlyerLib.getInstance().performOnAppAttribution(context, uri);
AppsFlyerLib.getInstance().performOnAppAttribution(context, uri)

performOnDeepLinking

添加于V6.3.1+

方法签名

 public void performOnDeepLinking(@NonNull Intent intent, @NonNull Context context);

描述
启用手动触发深度链接解析。这种方法允许那些延迟调用的应用程序在SDK启动前解析深度链接。

  • If a DeepLinkListener is registered, supports both deferred and direct deep linking
  • If a AppsFlyerConversionListener is registered, only supports direct deep linking

It's recommended to call this from an Activity's onResume, for activities that can be launched via deep linking.
Note: Direct deep links processed by this API will not be reported to the server.

用法示例

@Override
protected void onResume() {
  super.onResume();

  AppsFlyerLib appsflyer = AppsFlyerLib.getInstance();
  appsflyer.performOnDeepLinking(getIntent(),this);
}

输入参数

类型名称描述
Intentintent
Contextcontext 应用程序/行为情景。

返回
void

registerConversionListener

方法签名

void registerConversionListener(Context context,
                                                AppsFlyerConversionListener conversionDataListener)

描述
Register a conversion data listener. You can also use init to register the listener.

输入参数

类型名称描述
Contextcontext 应用程序/行为情景。
AppsFlyerConversionListenerconversionDataListenerThe AppsFlyerConversionListener object to register.

返回
void

用法示例

// conversionDataListener is an object of type AppsFlyerConversionListener.
AppsFlyerLib.getInstance().registerConversionListener(getApplicationContext(), conversionDataListener);
// conversionDataListener is an object of type AppsFlyerConversionListener.
AppsFlyerLib.getInstance().registerConversionListener(getApplicationContext(), conversionDataListener)

Here's an example implementation of AppsFlyerConversionListener.

registerValidatorListener (LEGACY)

方法签名

void registerValidatorListener(Context context,
                                               AppsFlyerInAppPurchaseValidatorListener validationListener)

描述
Register a validation listener for the validateAndLogInAppPurchase API.

输入参数

类型名称描述
Contextcontext应用程序/行为情景。
AppsFlyerInAppPurchaseValidatorListenervalidationListenerThe AppsFlyerInAppPurchaseValidatorListener object to register.

返回
void

用法示例

sendAdRevenue (LEGACY)

Deprecated in v6.15.0

(Supported until SDK v6.14.2 For versions including and above v6.15.0 use logAdRevenue)

方法签名

void sendAdRevenue(Context context,
                                   java.util.Map<java.lang.String,java.lang.Object> eventValues)

描述

输入参数

类型名称描述
Contextcontext应用程序/行为情景。
Map<String, Object>validationListener

返回
void

sendPushNotificationData

方法签名

void sendPushNotificationData(Activity activity)

描述
Measure and get data from push-notification campaigns. Call this method inside the onCreate method of Activitys that are launched from push notifications.

输入参数

类型名称描述
ActivityactivityThe Activity which is launched via the notification.

返回
void.

用法示例

setAdditionalData

📘

Calling setAddiotionalData before first launch will have the additional data included in installs, sessions, as well as in-app events.

方法签名

void setAdditionalData(java.util.Map<java.lang.String,java.lang.Object> customData)

描述
Use to add custom data to events' payload. It will appear in raw-data reports.
Input arguments

类型名称描述
HashMapcustomData

返回
void.

setAndroidIdData

方法签名

void setAndroidIdData(java.lang.String aAndroidId)

描述
默认情况下,如果Android版本高于KitKat(4.4)且设备包含Google Play Services,SDK将不收集IMEI和Android ID。使用此API将Android ID显式发送到AppsFlyer。

输入参数

类型名称描述
StringaAndroidIdAndroid设备ID。

返回
void

setAppId

方法签名

void setAppId(java.lang.String id)

描述

输入参数

类型名称描述
StringidAndroid App ID。

返回
void

setAppInviteOneLink

方法签名

void setAppInviteOneLink(java.lang.String oneLinkId)

描述
设置应该用于归因用户邀请的OneLink ID。为用户邀请生成的链接将使用此OneLink作为基础链接。参阅为用户邀请归因设置OneLink

输入参数

类型名称描述
StringoneLinkId从AppsFlyer控制面板获取的OneLink ID。

返回
void.

setCollectAndroidID

方法签名

void setCollectAndroidID(boolean isCollect)

描述
Opt-in to Android ID collection. Forces the SDK to collect Android ID.

输入参数

类型名称描述
booleanisCollectSet to true to opt-in.

返回
void.

setCollectIMEI

方法签名

void setCollectIMEI(boolean isCollect)

描述
Opt-in to IMEI collection. Forces the SDK to collect IMEI.

输入参数

类型名称描述
booleanisCollectSet to true to opt-in.

返回
void.

setCollectOaid

方法签名

void setCollectOaid(boolean isCollect)

描述
选择加入/选择退出OAID收集。默认情况下,SDK会尝试收集OAID。

输入参数

类型名称描述
booleanisCollectDefaults to true. Set to false to opt-out.

返回
void.

setConsentData

方法签名

AppsFlyerLib.getInstance().setConsentData(AppsFlyerConsent afConsent)

描述

Transfers consent data to the SDK.

输入参数

类型名称描述
AppsFlyerConsentafConsentAn object containing user consent data

setCurrencyCode

方法签名

void setCurrencyCode(java.lang.String currencyCode)

描述
设置应用内购买的货币。货币代码应为3个字符的ISO 4217代码。

输入参数

类型名称描述
StringcurrencyCode3 character ISO 4217 code. Defaults to "USD".

返回
void.

setCustomerIdAndLogSession

⚠️

Before calling this method, the method waitForCustomerUserId must be called

方法签名

void setCustomerIdAndLogSession(java.lang.String id,
                                                Context context)

描述
用于设置客户用户ID并启动SDK。

输入参数

类型名称描述
Stringid客户的客户ID。
Stringcontext应用程序/行为情景。

返回
void

setCustomerUserId

方法签名

void setCustomerUserId(java.lang.String id)

描述
设置您自己的客户ID,使您能够将自己的独特ID与AppsFlyer的独特ID和其他设备的ID交叉引用。
此ID在原始数据报告和回传API中可用,以便与您的内部ID进行交叉引用。

输入参数

类型名称描述
Stringid客户的客户ID。

返回
void.

setDebugLog

方法签名

void setDebugLog(boolean shouldEnable)

描述
启用AppsFlyer SDK的调试日志。应只在开发环境中设置为“true”。

输入参数

类型名称描述
booleanshouldEnableDefaults to false.

返回
void.

用法示例

setDisableAdvertisingIdentifiers

在V6.3.2中添加
方法签名

void setDisableAdvertisingIdentifiers(boolean disable);

描述
禁用SDK收集各种广告ID。其中包括Google Advertising ID(GAID)、Amazon Advertising ID(AAID)。

输入参数

类型名称描述
booleandisableDefaults to false.

返回
void.

setDisableNetworkData

Added in V6.7.0
方法签名

void setDisableNetworkData(boolean disable);

描述
Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.

输入参数

类型名称描述
booleandisableDefaults to false.

返回
void.

setExtension

方法签名

void setExtension(java.lang.String extension)

描述
SDK插件和扩展将设置此字段。

输入参数

类型名称描述
Stringextension扩展名称。

返回
void.

setHost

方法签名

void setHost(java.lang.String hostPrefixName,
                             java.lang.String hostName)

描述
Set a custom host. Note: Starting SDK V6.10, if the host is sent with an empty or null value, the API call is ignored.

输入参数

类型名称描述
StringhostPrefixName主机前缀。
StringhostName主机名称。

返回
void.

setImeiData

方法签名

void setImeiData(java.lang.String aImei)

描述
默认情况下,如果OS版本高于KitKat(4.4)且设备包含Google Play Services,SDK将不收集IMEI和Android ID。

输入参数

类型名称描述
StringaImei设备IMEI。

返回
void.

setIsUpdate

方法签名

void setIsUpdate(boolean isUpdate)

描述
手动设置应用程序已更新。

输入参数

类型名称描述
booleanisUpdate

返回
void.

setLogLevel

方法签名

void setLogLevel(AFLogger.LogLevel logLevel)

描述
设置SDK日志级别。

输入参数

类型名称描述
StringlogLevel日志级别。

返回
void.

setMinTimeBetweenSessions

方法签名

void setMinTimeBetweenSessions(int seconds)

描述
为互动间隔时间设置所需的自定义最小值。

输入参数

类型名称描述
intsecondsSets the minimum time that must pass between two app launches to count as two separate sessions. If not set, the default minimum time between sessions is 5 seconds.

返回
void.

setOaidData

方法签名

void setOaidData(java.lang.String oaid)

描述
默认情况下,SDK不收集OAID。使用此API将OAID显式发送到AppsFlyer。

输入参数

类型名称描述
Stringoaid设备OAID。

返回
void.

setOneLinkCustomDomain

方法签名

void setOneLinkCustomDomain(java.lang.String... domains)

描述
为了让AppsFlyer SDK成功解析隐藏的(在短链接ID中解码)归因参数,任何在AppsFlyer控制面板中配置为品牌域的域名都应该提供给此方法。

输入参数

类型名称描述
String...domainsSDK应将其视为品牌域的数组(SDK将尝试将其解析为OneLinks)。

返回
void.

setOutOfStore

方法签名

void setOutOfStore(java.lang.String sourceName)

描述
指定下载应用的备用应用商店。

输入参数

类型名称描述
StringsourceName第三方应用商店名称。

返回
void.

用法示例

AppsFlyerLib.getInstance().setOutOfStore("baidu");
AppsFlyerLib.getInstance().setOutOfStore("baidu")

setPartnerData

方法签名

void setPartnerData(@NonNull String partnerId, Map<String, Object> data);

描述
允许为合作伙伴的对接目的发送自定义数据。

输入参数

类型名称描述
StringpartnerId渠道的ID(通常以“_int”为后缀)。
Mapdata客户数据,取决于渠道的具体对接配置。

返回
void.

用法示例

Map<String, Object> partnerData = new HashMap();
partnerData.put("puid", "123456789");
AppsFlyerLib.getInstance().setPartnerData("test_int", partnerData);
val partnerData = mapOf("puid" to "123456789")
AppsFlyerLib.getInstance().setPartnerData("test_int", partnerData)

setPhoneNumber

方法签名

void setPhoneNumber(java.lang.String phoneNumber)

描述
将作为SHA-256加密字符串发送。

输入参数

类型名称描述
StringphoneNumber

返回
void.

setPreinstallAttribution

方法签名

void setPreinstallAttribution(java.lang.String mediaSource,
                                              java.lang.String campaign,
                                              java.lang.String siteId)

描述
指定预安装归因的制造商或媒体渠道名称。
输入参数

类型名称描述
StringmediaSource预安装归因的制造商或媒体渠道名称。
Stringcampaign预安装归因的营销活动名称。
StringsiteId预安装归因的网站ID。

返回
void.

setResolveDeepLinkURLs

方法签名

void setResolveDeepLinkURLs(java.lang.String... urls)

描述
广告主可以将AppsFlyer OneLink包装在另一个通用链接中。此通用链接将调用应用程序,但任何深度链接数据不会传播到AppsFlyer。

setResolveDeepLinkURLs 使您能够配置SDK以解析包装好的OneLink URL,以正确进行深度链接。

输入参数

类型名称描述
String...urls请务必提供明确的URL。

返回
void

用法示例

AppsFlyerLib.getInstance().setResolveDeepLinkURLs("clickdomain.com", "myclickdomain.com", "anotherclickdomain.com");

setSharingFilterForPartners

Added in V6.4
方法签名

void setSharingFilterForPartners(java.lang.String... partners)

This function replaces the deprecated setSharingFilter and setSharingFilterForAllPartners

描述
Lets you configure how which partners should the SDK exclude from data-sharing.

输入参数

类型名称描述
String...partnersOne or more partner identifiers you wish to exclude. Must include letters/digits and underscores only. Maximum partner ID length: 45



To find out the required partner IDs:

  1. Run the Get active integrations API for a list of all active integrations
  2. Use the media_source_name values from the API response as input values to the method partners array.

Exceptions:

  • For Twitter, use twitter (and not twitter_int)

用法示例

AppsFlyerLib.getInstance().setSharingFilterForPartners("partner1_int"); // Single partner
AppsFlyerLib.getInstance().setSharingFilterForPartners("partner1_int", "partner2_int"); // Multiple partners
AppsFlyerLib.getInstance().setSharingFilterForPartners("all"); // All partners
AppsFlyerLib.getInstance().setSharingFilterForPartners(); // Reset list (default)
AppsFlyerLib.getInstance().setSharingFilterForPartners("partner1_int") // Single partner
AppsFlyerLib.getInstance().setSharingFilterForPartners("partner1_int", "partner2_int") // Multiple partners
AppsFlyerLib.getInstance().setSharingFilterForPartners("all") // All partners
AppsFlyerLib.getInstance().setSharingFilterForPartners("") // Reset list (default)

setSharingFilter

Deprecated in V6.4
方法签名

void setSharingFilter(java.lang.String... partners)

This function is deprecated and has been replaced by setSharingFilterForPartners

描述
Stops events from propagating to the specified AppsFlyer partners.
(Deprecated and replaced by setSharingFilterForPartners)
Input arguments

类型名称描述
String...partners一个或多个合作伙伴标识符。必须仅包含字母/数字和下划线。最大长度:45

返回
void

setSharingFilterForAllPartners

Deprecated in V6.4
方法签名

void setSharingFilterForAllPartners()

This function is deprecated and has been replaced by setSharingFilterForPartners

描述
Stops events from propagating to all AppsFlyer partners. Overwrites setSharingFilter.

输入参数
该函数没有参数。

返回
void

setUserEmails

方法签名

void setUserEmails(AppsFlyerProperties.EmailsCryptType cryptMethod,
                                   java.lang.String... emails)

描述
设置用户电子邮件并对其进行加密。

输入参数

类型名称描述
AppsFlyerProperties.EmailsCryptTypecryptMethod加密方法:
  • AppsFlyerProperties.EmailsCryptType.NONE
  • AppsFlyerProperties.EmailsCryptType.SHA256
String...emails一个或多个用户的电子邮件。

返回
void.

start

方法签名

void start(Context context,
                           java.lang.String key,
                           AppsFlyerRequestListener listener)

描述
启动SDK。

输入参数

类型名称描述
ContextcontextApplication Context if calling in the Application onCreate method, Activity Context if calling after Activity's onResume 方法。
Stringkey您的AppsFlyer开发者密钥
AppsFlyerRequestListenerlistener(可选)用于获取请求状态的监听器。

返回
void.

用法示例
有关实施示例,请参阅对接SDK

stop

方法签名

void stop(boolean shouldStop,
                          Context context)

描述
一旦调用此API,我们的SDK将不再与我们的服务器通信并停止运行。
在实施用户选择进入/退出时很有用。

📘

SDK restart

After stop(true) was called, you need to call stop(false) and only then call start()

输入参数

类型名称描述
booleanshouldStop应该停止记录。
Contextcontext应用程序/行为情景。

返回
void.

subscribeForDeepLink

方法签名

void subscribeForDeepLink(DeepLinkListener deepLinkListener,
                                          long timeout)

描述

输入参数

类型名称描述
DeepLinkListenerdeepLinkListener
longtimeoutOptional.
Units in milliseconds

返回
void

unregisterConversionListener

方法签名

void unregisterConversionListener()

描述
Unregister a previously registered AppsFlyerConversionListener.

输入参数
该函数没有参数。

返回
void

updateServerUninstallToken

方法签名

void updateServerUninstallToken(Context context,
                                                java.lang.String token)

描述
适用于那些将Firebase用于卸载评估以外目的的开发者。更多信息请参阅卸载评估

输入参数

类型名称描述
Contextcontext应用程序/行为情景。
StringtokenFirebase设备令牌。

返回
void

用法示例

AppsFlyerlib.getInstance().updateServerUninstallToken(getApplicationContext(), <TOKEN>);
AppsFlyerlib.getInstance().updateServerUninstallToken(getApplicationContext(), <TOKEN>);

validateAndLogInAppPurchase

Added in v6.14.0

方法签名

public abstract void validateAndLogInAppPurchase(@NonNull AFPurchaseDetails purchaseDetails,
                                                 @Nullable Map<String, String> additionalParameters,
                                                 @Nullable AppsFlyerInAppPurchaseValidationCallback validationCallback);

描述
The method validates a purchase event with the store and if the validation is successful, the SDK sends an af_purchase event to AppsFlyer.

See detailed instructions in Validate and log in-app purchase.

输入参数

名称类型描述
purchaseDetails *AFPurchaseDetailsAn object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase method.
additionalParametersMap<String, String>Additional parameters to log with the purchase.
validationCallback *AppsFlyerInAppPurchaseValidationCallback`A callback for delivering validation results.

返回
void

AFPurchaseDetails

An object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase method.

data class AFPurchaseDetails(
    val purchaseType: AFPurchaseType,
    val purchaseToken: String,
    val productId: String,
    val price: String,
    val currency: String
)

AFPurchaseDetails parameters

名称类型描述
purchaseTypeAFPurchaseTypeField to distinguish between one-time purchases and subscriptions. The field can accept either subscription or one-time-purchase.
purchaseToken文字Token that uniquely identifies a purchase for a given item and user pair. Part of the Billing Library's Purchase class. To retrieve the token call the getPurchaseToken API
productId文字ID of the product item that has been purchased. Also part of the Billing Library's Purchase class.
price文字The full price of the one-time purchase or the subscription. Also part of the Billing Library's Purchase class.
currency文字Currency used to make the purchase.

validateAndLogInAppPurchase (LEGACY)

Deprecated in v6.4

方法签名

void validateAndLogInAppPurchase(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. An af_purchase event with the relevant values will be automatically logged if the validation is successful.

请参阅验证购买的详细说明。

输入参数

类型名称描述
Contextcontext应用程序/行为情景。
StringpublicKey从Google Play控制台获得的许可证密钥。
Stringsignaturedata.INAPP_DATA_SIGNATURE from onActivityResult(int requestCode, int resultCode, Intent data)
StringpurchaseDatadata.INAPP_PURCHASE_DATA from onActivityResult(int requestCode, int resultCode, Intent data)
Stringprice购买价格,应该来自skuDetails.getStringArrayList("DETAILS_LIST")
Stringcurrency购买币种,应该来自skuDetails.getStringArrayList("DETAILS_LIST")
Map<String, String>additionalParameters随购买记录的Freehand参数(如果经过验证)。

返回
void.

waitForCustomerUserId

方法签名

void waitForCustomerUserId(boolean wait)

描述
This method defers the SDK initialization, until a customerUserID is provided.
All in-app events and any other SDK API calls are discarded until the customerUserID is provided and logged.

输入参数

类型名称描述
booleanwait

返回
void.

用法示例

AppsFlyerLib.getInstance().waitForCustomerUserId(true);
AppsFlyerLib.getInstance().waitForCustomerUserId(true);