Dưới đây là mô tả danh sách các phương thức khả dụng cho trình cắm này.


API Android, iOS và Windows

initSDK

void initSDK(string devKey, string appID, MonoBehaviour gameObject)

Khởi tạo SDK AppsFlyer bằng devKey và appID.
Cần có dev key cho tất cả các ứng dụng và appID chỉ được yêu cầu đối với iOS.
Nếu ứng dụng của bạn chỉ dành cho Android, hãy chuyển giá trị null cho appID.

parametertypedescription
dev_keystringDev-Key của AppsFlyer, có thể truy cập được từ tài khoản AppsFlyer của bạn trong phần "App Settings" trong bảng điều khiển.
app_idstringID Apple của ứng dụng của bạn.
gameObject (tùy chọn)MonoBehaviourĐối tượng trò chơi chứa giao diện IAppsFlyerConversionData.

Ví dụ:

AppsFlyer.initSDK("dev_key", "app_id"); // without deeplinking
AppsFlyer.initSDK("dev_key", "app_id", this); // with deeplinking

Lưu ý: Bạn chỉ cần triển khai SDK với liên kết sâu nếu bạn đang sử dụng giao diện IAppsFlyerConversionData .


startSDK

void startSDK()

Khi API này được gọi ra, SDK sẽ khởi động, các phiên sẽ được gửi ngay lập tức và tất cả các chuyển đổi nền sau-nền trước sẽ ghi nhận một phiên.

Ví dụ:

 AppsFlyer.startSDK();

API Android và iOS

stopSDK

void stopSDK(bool isSDKStopped)

Trong một số trường hợp đặc biệt, bạn có thể cần tắt tất cả các chức năng của SDK do tuân thủ luật pháp và quyền riêng tư. Có thể thực hiện việc này bằng API stopSDK. Khi API được thu hồi, SDK sẽ không còn giao tiếp được với các máy chủ của chúng tôi và dừng hoạt động.

Có một số trường hợp khác nhau để người dùng lựa chọn không tham gia. Bạn nên thực hiện theo những hướng dẫn chính xác cho từng trường hợp liên quan tới ứng dụng của bạn.

Trong bất kỳ sự kiện nào, SDK có thể được kích hoạt lại bằng cách gọi API tương tự, nếu kết quả là sai.

Quan trọng :
Không gọi ra startSDK() nếu stopSDK() được đặt thành true.

Để khởi động lại các chức năng SDK, hãy sử dụng API sau:

AppsFlyer.stopSDK(false);

cảnh báo
Chỉ sử dụng API stopSDK trong trường hợp bạn muốn hoàn toàn bỏ qua các chức năng SDK của người dùng. Việc sử dụng API này ảnh hưởng NGHIÊM TRỌNG đến việc phân bổ, thu thập dữ liệu và cơ chế liên kết sâu của bạn.

parametertypedescription
isSDKStoppedboolLà true nếu SDK bị dừng (giá trị mặc định là false).

Ví dụ:

AppsFlyer.stopSDK(true);

isSDKStopped

bool isSDKStopped()

API stopSDK(boolean) hay không được đặt thành true.

Ví dụ:

if (!AppsFlyer.isSDKStopped())
{
  
}

getSdkVersion

string getSdkVersion()

Tải phiên bản SDK AppsFlyer được sử dụng trong ứng dụng.

Ví dụ:

string version = AppsFlyer.getSdkVersion();

setIsDebug

void setIsDebug(bool shouldEnable)

Bật nhật ký Gỡ lỗi cho SDK AppsFlyer.

cảnh báo
Chỉ được đặt thành true trong quá trình phát triển/gỡ lỗi.

parametertypedescription
shouldEnableboolLà true nếu đang bật chế độ gỡ lỗi (mặc định là false)

Ví dụ:

AppsFlyer.setIsDebug(true);

addPushNotificationDeepLinkPath

void addPushNotificationDeepLinkPath(params string[] paths)

Thêm mảng mã khóa, được sử dụng để tạo đường dẫn mã khóa nhằm giải quyết liên kết sâu từ tải trọng thông báo đẩy.

parametertypedescription
pathsstring[]array of strings that represent the key path to the deeplink in the push notification payload

Ví dụ:

Ví dụ cách dùng
Cấu hình cơ bản

AppsFlyer.addPushNotificationDeepLinkPath("af_push_link")

Lệnh gọi này khớp với cấu trúc tải trọng sau:

{
  "af_push_link": "https://yourdeeplink2.onelink.me"
}

ֿAdvanced configuration:

string[] paths = {"deeply", "nested", "deep_link"};
AppsFlyer.addPushNotificationDeepLinkPath(paths);

Lệnh gọi này khớp với cấu trúc tải trọng sau:

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

setCustomerUserId

void setCustomerUserId(string id)

Việc thiết lập ID Tùy chỉnh riêng cho phép bạn tham chiếu chéo ID riêng của bạn với ID riêng của AppsFlyer và ID của các thiết bị khác. ID này sẽ có trong báo cáo CSV của AppsFlyer cùng với API đăng lại để tham chiếu chéo với ID nội bộ của bạn.

parametertypedescription
idstringID người dùng tùy chỉnh

Ví dụ:

AppsFlyer.setCustomerUserId("custom_user_id");

setAppInviteOneLinkID

void setAppInviteOneLinkID(string oneLinkId)

Đặt ID OneLink sẽ được sử dụng cho API lời mời người dùng
Liên kết được tạo cho lời mời của người dùng sẽ sử dụng OneLink này làm liên kết cơ sở.

parametertypedescription
oneLinkIdstringID OneLink cho phân bổ Lời mời người dùng

Ví dụ:

AppsFlyer.setAppInviteOneLinkID("abcd");

setAdditionalData

void setAdditionalData(Dictionary<string, string> customData)

Phải có API setAdditionalData để tích hợp ở cấp SDK với một số nền tảng đối tác bên ngoài, bao gồm Segment, Adobe và Urban Airship. Chỉ sử dụng API này nếu bài viết tích hợp của nền tảng nêu rõ rằng bắt buộc phải có API setAdditionalData.

parametertypedescription
customDataDictionary<string, string>dữ liệu bổ sung

Ví dụ:

Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("custom1", "someData");
AppsFlyer.setAdditionalData(customData);

setResolveDeepLinkURLs

void setResolveDeepLinkURLs(params string[] urls)

Nếu bạn đang sử dụng OneLink hỗ trợ Liên kết ứng dụng Android và gói chúng bằng Liên kết Chung của Bên thứ 3, thì bạn có thể sử dụng API setResolveDeepLinkURLs để thông báo cho AppsFlyer SDK nhấp vào các tên miền gọi ra ứng dụng phải được SDK giải quyết và trích xuất OneLink bên dưới từ chúng. Thao tác này sẽ cho phép bạn duy trì liên kết sâu và theo dõi trong khi gói OneLink bằng Liên kết Phổ dụng Bên thứ 3. Đảm bảo gọi ra API này trước khi khởi tạo SDK.

parametertypedescription
urlsparams string[]mảng url

Ví dụ:

AppsFlyer.setResolveDeepLinkURLs("test.com", "test2.ca");

setOneLinkCustomDomain

void setOneLinkCustomDomain(params string[] domains)

Các nhà quảng cáo có thể sử dụng phương thức này để đặt các miền OneLink chỉ của cá nhân.

parametertypedescription
domainsparams string[]mảng miền tùy chỉnh

Ví dụ:

 AppsFlyer.setOneLinkCustomDomain("test.domain", "test2.domain");

setCurrencyCode

void setCurrencyCode(string currencyCode)

Đặt mã tiền tệ địa phương của người dùng để mua hàng trong ứng dụng.
Mã tiền tệ phải là mã ISO 4217 gồm 3 ký tự. (mặc định là USD).
Bạn có thể đặt mã tiền tệ cho tất cả các sự kiện bằng cách gọi ra phương thức sau.

parametertypedescription
currencyCodestringMã ISO 4217 gồm 3 ký tự. (mặc định là USD)

Ví dụ:

AppsFlyer.setCurrencyCode("GBP");


setDeepLinkTimeout

void setDeepLinkTimeout(long deepLinkTimeout)

Setting the deepLink timeout value that should be used for DDL.
If you want to use it, set it before the DDL setting.

parametertypedescription
deepLinkTimeoutlongin milliseconds

Ví dụ:

AppsFlyer.setDeepLinkTimeout(2000);

enableTCFDataCollection

void enableTCFDataCollection(bool shouldCollectTcfData)

Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.

parametertypedescription
shouldCollectTcfDatabooltrue to enable data collection

Ví dụ:

AppsFlyer.enableTCFDataCollection(true);;

setConsentData

void setConsentData(AppsFlyerConsent appsFlyerConsent)

Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.

parametertypedescription
appsFlyerConsentAppsFlyerConsentInstance of AppsFlyerConsent class

Ví dụ:

AppsFlyerConsent consent = AppsFlyerConsent.ForGDPRUser(false, false);
AppsFlyer.setConsentData(consent);

recordLocation

void recordLocation(double latitude, double longitude)

Ghi nhận thủ công vị trí của người dùng.

parametertypedescription
latitudedoublevĩ độ của người dùng
longitudedoublekinh độ của người dùng

Ví dụ:

AppsFlyer.recordLocation(40.7128, 74.0060);

anonymizeUser

void anonymizeUser(bool shouldAnonymizeUser)

AppsFlyer cung cấp cho bạn phương thức ẩn danh mã định danh người dùng cụ thể trong phân tích AppsFlyer. Phương thức này phù hợp với yêu cầu bảo mật mới nhất và tuân thủ chính sách dữ liệu và quyền riêng tư của Facebook. Mặc định là KHÔNG, có nghĩa là mặc định không thực hiện ẩn danh.
Sử dụng API này trong quá trình Khởi tạo SDK để ẩn danh hoàn toàn các cài đặt, sự kiện và phiên của người dùng.
Bạn có thể hủy ẩn danh bằng cách gọi ra anonymizeUser lần nữa, đặt thành false.

cảnh báo
Ẩn danh người dùng sẽ làm ảnh hưởng NGHIÊM TRỌNG đến thông tin phân bổ của bạn. CHỈ sử dụng tùy chọn này cho các khu vực mà pháp luật nghiêm cấm thu thập thông tin của người dùng.

parametertypedescription
shouldAnonymizeUserboollà true để thực hiện ẩn danh

Ví dụ:

AppsFlyer.anonymizeUser(true);

getAppsFlyerId

string getAppsFlyerId()

ID thiết bị duy nhất của AppsFlyer được tạo cho mỗi lần cài đặt mới của ứng dụng. Hãy sử dụng API sau đây để thu được ID duy nhất của AppsFlyer.

Ví dụ:

string uid = AppsFlyer.getAppsFlyerId(); 

setMinTimeBetweenSessions

void setMinTimeBetweenSessions(int seconds)

Theo mặc định, phải mất ít nhất 5 giây giữa 2 lần khởi chạy ứng dụng để được tính là 2 phiên riêng biệt (tìm hiểu thêm về tính các phiên). Tuy nhiên, bạn có thể sử dụng API sau để đặt giá trị tùy chỉnh cho thời gian yêu cầu tối thiểu giữa các phiên.

Lưu ý: Việc đặt một giá trị cao cho thời gian tùy chỉnh giữa hai phiên khởi chạy có thể ảnh hưởng xấu tới API dựa trên dữ liệu phiên, chẳng hạn như liên kết sâu.

parametertypedescription
secondsintthời gian giữa các phiên (mặc định là 5 giây)

Ví dụ:

AppsFlyer.setMinTimeBetweenSessions(4);

setHost

void setHost(string hostPrefixName, string hostName)

Thiết lập một máy chủ tùy chỉnh.

parametertypedescription
hostPrefixNamestring
hostNamestring

Ví dụ:

AppsFlyer.setHost("hostPrefixName","hostName");

setUserEmails

void setUserEmails(EmailCryptType cryptMethod, params string[] emails)

Thiết lập email của người dùng và mã hóa chúng.

phương thức cryptMethod Encryption:
EmailCryptType.EmailCryptTypeSHA256
EmailCryptType.EmailCryptTypeNone

parametertypedescription
cryptMethodEmailCryptTypekhông có hoặc sha256
emailsparams string[]danh sách email

Ví dụ:

AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "[email protected]", "[email protected]");

setPhoneNumber

void setPhoneNumber(string phoneNumber)

Đặt số điện thoại của người dùng.

parametertypedescription
phoneNumberstring

Ví dụ:

AppsFlyer.setPhoneNumber("4166358181");

getConversionData

void getConversionData(string objectName);

Đăng ký Trình nghe Dữ liệu Chuyển đổi.
Cho phép nhà phát triển truy cập dữ liệu phân bổ người dùng theo thời gian thực cho mỗi lượt cài đặt mới, trực tiếp từ cấp SDK.
Bằng cách này, bạn có thể cung cấp cho người dùng nội dung được cá nhân hóa hoặc đưa họ đến các hoạt động cụ thể trong ứng dụng,
điều này có thể nâng cao đáng kể mức độ tương tác của họ với ứng dụng của bạn.

Nhận lệnh gọi lại bằng cách triển khai giao diện IAppsFlyerConversionData.

parametertypedescription
objectNamestringđối tượng trò chơi với giao diện IAppsFlyerConversionData

Ví dụ:

AppsFlyer.getConversionData(gameObject.name);

attributeAndOpenStore

void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject)

Sử dụng API sau để phân bổ lượt nhấp và khởi chạy trang của ứng dụng trong cửa hàng ứng dụng.

Nhận lệnh gọi lại bằng cách triển khai giao diện IAppsFlyerUserInvite.

parametertypedescription
appIDstring
campaignstring
userParamsDictionary<string, string>
gameObjectMonoBehaviourđối tượng trò chơi với giao diện IAppsFlyerUserInvite

Ví dụ:

Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.attributeAndOpenStore("123456789", "test campaign", parameters, this);

logAdRevenue

void logAdRevenue(AFAdRevenueData adRevenueData, Dictionary<string, string> additionalParameters)

Logs ad revenue data along with additional parameters if provided.

parametertypedescription
adRevenueDataAFAdRevenueDataInstance of AFAdRevenueData containing ad revenue information
additionalParametersDictionary<string, string> An optional map of additional parameters to be logged with ad revenue data

Ví dụ:

Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("value1", "5");
parameters.Add(AdRevenueScheme.COUNTRY, "USA");
var logRevenue = new AFAdRevenueData("monetizationNetworkEx", MediationNetwork.GoogleAdMob, "USD", 0.99);
AppsFlyer.logAdRevenue(logRevenue, parameters);

recordCrossPromoteImpression

void recordCrossPromoteImpression(string appID, string campaign);

Để phân bổ lượt hiển thị, hãy sử dụng lệnh gọi API sau.
Đảm bảo sử dụng ID Ứng dụng được quảng cáo y hệt như ID xuất hiện trong bảng điều khiển của AppsFlyer.

parametertypedescription
appIDstringID ứng dụng
campaignstringcampaign
paramsDictionary<string, string>thông số bổ sung

Ví dụ:

Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.recordCrossPromoteImpression("appID", "campaign", parameters);

generateUserInviteLink

void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject)

Lớp LinkGenerator xây dựng URL lời mời theo nhiều phương thức setter khác nhau, cho phép truyền thông tin bổ sung khi nhấp chuột.
Xem - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-

parametertypedescription
parametersDictionary<string, string>
gameObjectMonoBehaviourđối tượng trò chơi với giao diện IAppsFlyerUserInvite

Ví dụ:

AppsFlyer.generateUserInviteLink(params, this);

setSharingFilterForAllPartners Deprecated

void setSharingFilterForAllPartners()

Được nhà quảng cáo sử dụng để loại trừ tất cả các mạng/đối tác tích hợp không được lấy dữ liệu.

Ví dụ:

AppsFlyer.setSharingFilterForAllPartners();

setSharingFilter Deprecated

void setSharingFilter(params string[] partners)

Được các nhà quảng cáo sử dụng để đặt một số (một hoặc nhiều) mạng/đối tác tích hợp để loại trừ không được lấy dữ liệu.

parametertypedescription
partnersparams string[] partnersđối tác sẽ loại trừ không được lấy dữ liệu

Ví dụ:

AppsFlyer.setSharingFilter("googleadwords_int","snapchat_int","doubleclick_int");

setSharingFilterForPartners

void setSharingFilterForPartners(params string[] partners)

Được các nhà quảng cáo sử dụng để đặt một số (một hoặc nhiều) mạng/đối tác tích hợp để loại trừ không được lấy dữ liệu.

parametertypedescription
partnersparams string[] partnersđối tác sẽ loại trừ không được lấy dữ liệu

Ví dụ:

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

setPartnerData

void setPartnerData(string partnerID, params string[] partnerInfo)

Cho phép gửi dữ liệu tùy chỉnh cho mục đích tích hợp đối tác.

parametertypedescription
partnerIDstringID của đối tác (thường kèm theo "_int").
partnerInfoparams string[]Dữ liệu khách hàng, phụ thuộc vào cấu hình tích hợp với đối tác cụ thể.

Ví dụ:

   Dictionary<string, string> partnerInfo = new Dictionary<string, string>();
        partnerInfo.Add("puid", "1234567890");
        AppsFlyer.setPartnerData("partner_test", partnerInfo);

API chỉ dành cho Android

updateServerUninstallToken

void updateServerUninstallToken(string token)

Chuyển Mã thông báo Thiết bị Firebase theo cách thủ công để đo lường Lượt gỡ cài đặt.

parametertypedescription
tokenstringMã thông báo Firebase FCM

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.updateServerUninstallToken("token");
#endif

setImeiData

void setImeiData(string imei)

SDK mặc định không thu thập IMEI và Android ID nếu phiên bản hệ điều hành cao hơn KitKat (4.4)
và thiết bị chứa Google Play Services (trên SDK phiên bản 4.8.8 trở xuống thì ứng dụng cụ thể cần GPS).
Sử dụng API này để gửi IMEI đến AppsFlyer một cách cụ thể.

parametertypedescription
imeistringIMEI của thiết bị

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setImeiData("imei");
#endif

setAndroidIdData

void setAndroidIdData(string androidId)

Theo mặc định, SDK không thu thập IMEI và Android ID nếu phiên bản hệ điều hành cao hơn KitKat(4.4) và thiết bị chứa Google Play Services (trên SDK phiên bản 4.8.8 trở xuống thì ứng dụng cụ thể cần GPS).
Sử dụng API này để gửi ID Android đến AppsFlyer một cách cụ thể.

parametertypedescription
androidIdstringID Android của thiết bị

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setAndroidIdData("androidId");
#endif

waitForCustomerUserId

void waitForCustomerUserId(bool wait)

Có thể trì hoãn việc Khởi tạo SDK cho đến khi customerUserID được thiết lập.
Tính năng này bảo đảm rằng SDK không bắt đầu hoạt động cho đến khi customerUserID được cung cấp.
Nếu API này được sử dụng, tất cả các sự kiện trong ứng dụng và bất kỳ lần gọi SDK API nào khác đều bị loại bỏ, cho đến khi customerUserID được cung cấp.

parametertypedescription
waitboolLà true nếu bạn muốn SDK đợi customerUserID

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.waitForCustomerUserId(true);
#endif

setCustomerIdAndStartSDK

void setCustomerIdAndStartSDK(string id)

⚠️

Before calling this method, the method waitForCustomerUserId must be called

Sử dụng API này để cung cấp cho SDK customer user id có liên quan và kích hoạt SDK bắt đầu hoạt động bình thường.

parametertypedescription
idstringID Khách hàng cho khách hàng.

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setCustomerIdStartSDK("id");
#endif

getOutOfStore

string getOutOfStore()

Nhận giá trị AF_STORE hiện tại.

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        string af_store = AppsFlyer.getOutOfStore();
#endif

setOutOfStore

void setOutOfStore(string sourceName)

Đặt giá trị AF_STORE theo cách thủ công.

parametertypedescription
sourceNamestring

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setOutOfStore("sourceName");
#endif

setCollectAndroidID

void setCollectAndroidID(bool isCollect)

Chọn không thu thập ID Android.
Nếu ứng dụng KHÔNG chứa Google Play Services, ID Android sẽ được SDK thu thập.
Tuy nhiên, ứng dụng có Google Play Services nên tránh thu thập ID Android vì điều này vi phạm chính sách của Google Play.

parametertypedescription
isCollectbool

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setCollectAndroidID(true);
#endif

setCollectIMEI

void setCollectIMEI(bool isCollect)

Chọn không thu thập IMEI.
Nếu ứng dụng không chứa Google Play Services, thì IMEI của thiết bị sẽ được SDK thu thập.
Tuy nhiên, ứng dụng có Google Play Services nên tránh thu thập IMEI vì việc này vi phạm chính sách của Google Play.

parametertypedescription
isCollectbool

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setCollectIMEI(true);
#endif

setIsUpdate

void setIsUpdate(bool isUpdate)

Đặt thủ công là ứng dụng đã được cập nhật.

parametertypedescription
isUpdateboollà true nếu ứng dụng đã được cập nhật

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setIsUpdate(true);
#endif

setPreinstallAttribution

void setPreinstallAttribution(string mediaSource, string campaign, string siteId)

Chỉ định nhà sản xuất hoặc tên nguồn truyền thông mà cài đặt sẵn được phân bổ.

parametertypedescription
mediaSourcestringNhà sản xuất hoặc tên nguồn truyền thông cho phân bổ cài đặt sẵn.
campaignstringTên chiến dịch cho phân bổ cài đặt sẵn.
siteIdstringID trang web cho phân bổ cài đặt sẵn.

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setPreinstallAttribution("mediaSource", "campaign", "siteId");
#endif

isPreInstalledApp

bool isPreInstalledApp()

Chỉ báo Boolean cho cài đặt sẵn bởi Nhà sản xuất.

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        if (AppsFlyer.isPreInstalledApp())
        {

        }
#endif

handlePushNotifications

void handlePushNotifications()
Khi API handlePushNotifications được gọi ra thì thông báo đẩy sẽ được ghi nhận.

Ví dụ:

AppsFlyer.handlePushNotifications();

getAttributionId

string getAttributionId()

Nhận ID phân bổ Facebook, nếu có.

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        string attributionId = AppsFlyer.getAttributionId();
#endif

validateAndSendInAppPurchase-beta

void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, string> additionalParameters, MonoBehaviour gameObject)

API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.

parametertypedescription
detailsAFPurchaseDetailsAndroidInstance of AFPurchaseDetailsAndroid class
additionalParametersDictionary<string, string>các thông số sẽ được gửi cùng với giao dịch mua.
gameObjectMonoBehaviourĐối tượng trò chơi cho lệnh gọi lại sẽ được gửi

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AFPurchaseDetailsAndroid details = new AFPurchaseDetailsAndroid(AFPurchaseType.Subscription, 
        "token", "productId", "price", "currency");
        
        AppsFlyer.validateAndSendInAppPurchase(
        details, 
        null, 
        this);
#endif

validateAndSendInAppPurchase

void validateAndSendInAppPurchase(string publicKey, string signature, string purchaseData, string price, string currency, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)

API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.

parametertypedescription
publicKeystringMã khóa Cấp phép lấy từ Google Play Console.
signaturestringdata.INAPP_DATA_SIGNATURE.
purchaseDatastringdata.INAPP_PURCHASE_DATA
pricestringGiá mua
currencystringID trang web cho phân bổ cài đặt sẵn.
additionalParametersDictionary<string, string>các thông số sẽ được gửi cùng với giao dịch mua.
gameObjectMonoBehaviourĐối tượng trò chơi cho lệnh gọi lại sẽ được gửi

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.validateAndSendInAppPurchase(
        "publicKey", 
        "signature", 
        "purchaseData", 
        "price", 
        "currency", 
        null, 
        this);
#endif

setCollectOaid

void setCollectOaid(boolean isCollect)

setCollectOaid

You must include the appsflyer oaid library for this api to work.
parametertypedescription
isCollectboollà true để cho phép thu thập oaid

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setCollectOaid(true);
#endif

setDisableAdvertisingIdentifiers

void setDisableAdvertisingIdentifiers(boolean disable)

setDisableAdvertisingIdentifiers

Disables collection of various Advertising IDs by the SDK. This includes Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
parametertypedescription
disableboollà true để vô hiệu hóa

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setDisableAdvertisingIdentifiers(true);
#endif


setDisableNetworkData

void setDisableNetworkData(boolean disable)

setDisableNetworkData

Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
parametertypedescription
disableboollà true để lựa chọn không tham gia

Ví dụ:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setDisableNetworkData(true);
#endif

API chỉ dành cho iOS

setDisableCollectAppleAdSupport

void setDisableCollectAppleAdSupport(bool disable)

SDK AppsFlyer thu thập từ Apple advertisingIdentifier if the AdSupport.framework bao gồm trong SDK.
Bạn có thể vô hiệu hóa hoạt động này bằng cách đặt thuộc tính sau thành true.

parametertypedescription
disablebool

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setDisableCollectAppleAdSupport(true);
#endif

handlePushNotifications(iOS)

void handlePushNotification(Dictionary<string, string> pushPayload)
When the handlePushNotifications API is called from a service that is swizzling, like Firebase, the push notifications payload will be handled by the AppsflyerSDK.

parametertypedescription
pushPayloadDictionary<string, string>the push notification payload

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    // e.Message.Data = push notification payload
    var dataDict = new Dictionary<string, string>(e.Message.Data);
    AppsFlyeriOS.handlePushNotification(dataDict);
#endif

setShouldCollectDeviceName

void setShouldCollectDeviceName(bool shouldCollectDeviceName)

Đặt cờ báo này thành true, để thu thập tên thiết bị hiện tại (ví dụ: "iPhone của Tôi"). Giá trị mặc định là false.

parametertypedescription
shouldCollectDeviceNamebool

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setShouldCollectDeviceName(true);
#endif

setDisableCollectIAd

void setDisableCollectIAd(bool disableCollectIAd)

Lựa chọn không tham gia phân bổ Apple Search Ads.

parametertypedescription
disableCollectIAdbool

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setDisableCollectIAd(true);
#endif

setUseReceiptValidationSandbox

void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)

Xác thực biên lai mua hàng trong ứng dụng trong môi trường Apple (sản xuất hoặc sandbox). Giá trị mặc định là false.

parametertypedescription
useReceiptValidationSandboxboollà true nếu Mua hàng trong ứng dụng được thực hiện với sandbox

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setUseReceiptValidationSandbox(true);
#endif

setUseUninstallSandbox

void setUseUninstallSandbox(bool useUninstallSandbox)

Đặt cờ này để thử nghiệm gỡ cài đặt trong môi trường Apple (sản xuất hoặc sandbox). Giá trị mặc định là false.

parametertypedescription
useUninstallSandboxboollà true nếu bạn đang sử dụng chứng chỉ APN

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setUseUninstallSandbox(true);
#endif

validateAndSendInAppPurchase-beta-iOS

void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject)

Để gửi và xác thực mua hàng trong ứng dụng, bạn có thể gọi ra phương thức này từ phương thức processPurchase.

parametertypedescription
detailsAFSDKPurchaseDetailsIOSInstance of AFSDKPurchaseDetailsIOS class.
extraEventValuesDictionary<string, string>Thông số bổ sung mà bạn muốn nhận trong báo cáo thô.
gameObjectMonoBehaviourthe game object for the

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AFSDKPurchaseDetailsIOS details = AFSDKPurchaseDetailsIOS.Init("productId", "price", "currency",
        "transactionId");
        AppsFlyer.validateAndSendInAppPurchase(
        details, 
        null, 
        this);
#endif

validateAndSendInAppPurchase

void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string tranactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)

Để gửi và xác thực mua hàng trong ứng dụng, bạn có thể gọi ra phương thức này từ phương thức processPurchase.

parametertypedescription
productIdentifierstringMã định danh sản phẩm.
pricestringGiá sản phẩm.
currencystringĐơn vị tiền tệ của sản phẩm.
tranactionIdstringId giao dịch mua hàng.
additionalParametersDictionary<string, string>Thông số bổ sung mà bạn muốn nhận trong báo cáo thô.
gameObjectMonoBehaviourđối tượng trò chơi cho các lệnh gọi lại

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.validateAndSendInAppPurchase(
        "productIdentifier", 
        "price", 
        "currency", 
        "tranactionId", 
        null, 
        this);
#endif

registerUninstall

void registerUninstall(byte[] deviceToken)

Đăng ký lượt gỡ cài đặt - bạn nên đăng ký nhận thông báo từ xa và cung cấp cho AppsFlyer token thiết bị đẩy.

parametertypedescription
deviceTokenbyte[]mã thông báo APN

Ví dụ:

    private bool tokenSent;

    void Update()
    {
#if UNITY_IOS && !UNITY_EDITOR
        if (!tokenSent)
        {
            byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
            if (token != null)
            {
                AppsFlyer.registerUninstall(token);
                tokenSent = true;
            }
        }
#endif
    }


handleOpenUrl

void handleOpenUrl(string url, string sourceApplication, string annotation)

In case you want to track deep linking manually call handleOpenUrl.
The continueUserActivity and onOpenURL are implemented in the AppsFlyerAppController.mm class, so 
only use this method if the other methods do not cover your apps deeplinking needs.
parametertypedescription
urlstringURL sẽ được chuyển đến AppDelegate của bạn
sourceApplicationstringsourceApplication sẽ được chuyển đến AppDelegate của bạn
annotationstringChú thích sẽ được chuyển đến ủy nhiệm hàm ứng dụng của bạn

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
#endif

waitForATTUserAuthorizationWithTimeoutInterval

void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)

Xem tại đây để biết thêm thông tin.

parametertypedescription
timeoutIntervalintThời gian chờ idfa

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif

disableSKAdNetwork

bools disableSKAdNetwork(bool isDisabled)

parametertypedescription
isDisabledboolLà true để tắt SKAdNetwork

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.disableSKAdNetwork(true);
#endif

setLanguage

setCurrentDeviceLanguage(string language)

parametertypedescription
languageStringNgôn ngữ cần đặt

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.setCurrentDeviceLanguage("english");
#endif

disableIDFVCollection

disableIDFVCollection(bool isDisabled)

parametertypedescription
isDisabledboolTrue to disable IDFV collection

Ví dụ:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.disableIDFVCollection(true);
#endif

IAppsFlyerConversionData

onConversionDataSuccess

public void onConversionDataSuccess(string conversionData)

ConversionData chứa thông tin về lượt cài đặt.
Tự nhiên/không tự nhiên, v.v. Xem tại đây để biết thêm thông tin.

parametertypedescription
conversionDatastringChuỗi JSON của dữ liệu chuyển đổi được trả về

Ví dụ:

   public void onConversionDataSuccess(string conversionData)
    {
        AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
        Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
        // add deferred deeplink logic here
    }

onConversionDataFail

public void onConversionDataFail(string error)

parametertypedescription
errorstringMột chuỗi mô tả lỗi

Ví dụ:

    public void onConversionDataFail(string error)
    {
        AppsFlyer.AFLog("onConversionDataFail", error);
    }

onAppOpenAttribution

public void onAppOpenAttribution(string attributionData)

attributionData chứa thông tin về OneLink, liên kết sâu.

parametertypedescription
attributionDatastringChuỗi JSON của dữ liệu liên kết sâu được trả về

Ví dụ:

    public void onAppOpenAttribution(string attributionData)
    {
        AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
        Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
        // add direct deeplink logic here
    }

onAppOpenAttributionFailure

public void onAppOpenAttributionFailure(string error)

Bất kỳ lỗi nào xảy ra trong quá trình yêu cầu phân bổ.

parametertypedescription
errorstringchuỗi mô tả lỗi

Ví dụ:

  public void onAppOpenAttributionFailure(string error)
    {
        AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
    }

IAppsFlyerUserInvite

onInviteLinkGenerated

public void onInviteLinkGenerated(string link)

Gọi lại thành công để tạo URL OneLink.

parametertypedescription
linkstringliên kết được tạo

Ví dụ:

   public void onInviteLinkGenerated(string link)
    {

    }

onInviteLinkGeneratedFailure

public void onInviteLinkGeneratedFailure(string error)

Gọi lại lỗi để tạo URL OneLink

parametertypedescription
errorstringMột chuỗi mô tả lỗi

Ví dụ:

    public void onInviteLinkGeneratedFailure(string error)
    {
        AppsFlyer.AFLog("onInviteLinkGeneratedFailure", error);
    }

onOpenStoreLinkGenerated

public void onOpenStoreLinkGenerated(string link)

(chỉ dành cho iOS) iOS cho phép bạn sử dụng thành phần StoreKit để mở
App Store trong khi vẫn ở trong bối cảnh ứng dụng của bạn.

Xem thêm chi tiết tại đây

parametertypedescription
attributionDatastringChuỗi JSON của dữ liệu liên kết sâu được trả về

Ví dụ:

    public void onOpenStoreLinkGenerated(string link)
    {

    }

IAppsFlyerValidateReceipt

didFinishValidateReceipt

public void didFinishValidateReceipt(string result)

Lệnh gọi lại thành công đối với API validateAndSendInAppPurchase.

Đối với Android: lệnh gọi lại sẽ trả về "Xác thực thành công".

Đối với iOS : lệnh gọi lại sẽ trả về một chuỗi JSON từ API verifyReceipt của apple.

parametertypedescription
resultstringxác thực kết quả

Ví dụ:

   public void didFinishValidateReceipt(string link)
    {

    }

IAppsFlyerValidateAndLog

onValidateAndLogComplete

public void didFinishValidateReceipt(string result)

The success callback for validateAndSendInAppPurchase API.

The callback will return a JSON string which can be converted to dictionary.

parametertypedescription
resultstringxác thực kết quả

Ví dụ:

   public void onValidateAndLogComplete(string result)
    {
        AppsFlyer.AFLog("onValidateAndLogComplete", result);
        Dictionary<string, object> validateAndLogDataDictionary = AppsFlyer.CallbackStringToDictionary(result);
    }

onValidateAndLogFailure

public void onValidateAndLogFailure(string error)

The error callback for validating receipts.

The callback will return a JSON string which can be converted to dictionary.

parametertypedescription
errorstringMột chuỗi mô tả lỗi

Ví dụ:

    public void onValidateAndLogFailure(string error)
    {
         AppsFlyer.AFLog("onValidateAndLogFailure", error); 
    }

Sự kiện

onRequestResponse

public static event EventHandler OnRequestResponse

Gọi lại đối với Phiên.

statusCodeerrorDescription
200null
10"Event timeout. Check 'minTimeBetweenSessions' param" (Hết thời gian chờ của sự kiện. Kiểm tra thông số 'minTimeBetweenSessions')
11"Skipping event because 'isStopTracking' enabled" (Bỏ qua sự kiện vì 'isStopTracking' đã được bật)
40Network error: Error description comes from Android (Lỗi mạng: Mô tả lỗi đến từ Android)
41"No dev key" (Không có dev key)
50"Status code failure" (Lỗi mã trạng thái) + mã phản hồi thực tế từ máy chủ

Ví dụ:

    AppsFlyer.OnRequestResponse += (sender, args) =>
    {
        var af_args = args as AppsFlyerRequestEventArgs;
        AppsFlyer.AFLog("AppsFlyerOnRequestResponse", "status code" + af_args.statusCode);
    };

onInAppResponse

public static event EventHandler OnInAppResponse

Gọi lại đối với Sự kiện Trong Ứng dụng.

statusCodeerrorDescription
200null
10"Event timeout. Check 'minTimeBetweenSessions' param" (Hết thời gian chờ của sự kiện. Kiểm tra thông số 'minTimeBetweenSessions')
11"Skipping event because 'isStopTracking' enabled" (Bỏ qua sự kiện vì 'isStopTracking' đã được bật)
40Network error: Error description comes from Android (Lỗi mạng: Mô tả lỗi đến từ Android)
41"No dev key" (Không có dev key)
50"Status code failure" (Lỗi mã trạng thái) + mã phản hồi thực tế từ máy chủ

Ví dụ:


    AppsFlyer.OnInAppResponse += (sender, args) =>
    {
        var af_args = args as AppsFlyerRequestEventArgs;
        AppsFlyer.AFLog("OnRequestResponse", "status code" + af_args.statusCode);
    }; 


onDeepLinkReceived

public static event EventHandler OnDeepLinkReceived

Gọi lại đối với API Liên kết Sâu Hợp nhất.

Ví dụ:


    // First call init with devKey, appId and gameObject
    AppsFlyer.initSDK(devKey, appID, this);


    AppsFlyer.OnDeepLinkReceived += (sender, args) =>
    {
        var deepLinkEventArgs = args as DeepLinkEventsArgs;

        // DEEPLINK LOGIC HERE
    };