Tham chiếu API
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
- API Android và iOS
- stopSDK
- isSDKStopped
- getSdkVersion
- setIsDebug
- addPushNotificationDeepLinkPath
- setCustomerUserId
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- setDeepLinkTimeout
- enableTCFDataCollection
- setConsentData
- recordLocation
- anonymizeUser
- getAppsFlyerId
- setMinTimeBetweenSessions
- setHost
- setUserEmails
- setPhoneNumber
- getConversionData
- attributeAndOpenStore
- logAdRevenue
- recordCrossPromoteImpression
- generateUserInviteLink
- setSharingFilterForAllPartners Đã ngừng hỗ trợ
- setSharingFilter Đã ngừng hỗ trợ
- setSharingFilterForPartners
- setPartnerData
- API chỉ dành cho Android
- updateServerUninstallToken
- setImeiData
- setAndroidIdData
- waitForCustomerUserId
- setCustomerIdAndStartSDK
- getOutOfStore
- setOutOfStore
- setCollectAndroidID
- setCollectIMEI
- setIsUpdate
- setPreinstallAttribution
- isPreInstalledApp
- handlePushNotifications
- getAttributionId
- validateAndSendInAppPurchase-beta
- validateAndSendInAppPurchase
- setCollectOaid
- setDisableAdvertisingIdentifiers
- setDisableNetworkData
- API chỉ dành cho iOS
- setDisableCollectAppleAdSupport
- handlePushNotifications(iOS)
- setShouldCollectDeviceName
- setDisableCollectIAd
- setUseReceiptValidationSandbox
- setUseUninstallSandbox
- validateAndSendInAppPurchase-beta-iOS
- validateAndSendInAppPurchase
- registerUninstall
- handleOpenUrl
- waitForATTUserAuthorizationWithTimeoutInterval
- disableSKAdNetwork
- setLanguage
- disableIDFVCollection
- IAppsFlyerConversionData
- IAppsFlyerUserInvite
- IAppsFlyerValidateReceipt
- IAppsFlyerValidateAndLog
- Sự kiện
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.
parameter | type | description |
---|---|---|
dev_key | string | Dev-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_id | string | ID 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.
parameter | type | description |
---|---|---|
isSDKStopped | bool | Là 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.
parameter | type | description |
---|---|---|
shouldEnable | bool | Là 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.
parameter | type | description |
---|---|---|
paths | string[] | 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.
parameter | type | description |
---|---|---|
id | string | ID 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ở.
parameter | type | description |
---|---|---|
oneLinkId | string | ID 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.
parameter | type | description |
---|---|---|
customData | Dictionary<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.
parameter | type | description |
---|---|---|
urls | params 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.
parameter | type | description |
---|---|---|
domains | params 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.
parameter | type | description |
---|---|---|
currencyCode | string | Mã 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.
parameter | type | description |
---|---|---|
deepLinkTimeout | long | in 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.
parameter | type | description |
---|---|---|
shouldCollectTcfData | bool | true 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.
parameter | type | description |
---|---|---|
appsFlyerConsent | AppsFlyerConsent | Instance 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.
parameter | type | description |
---|---|---|
latitude | double | vĩ độ của người dùng |
longitude | double | kinh độ 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.
parameter | type | description |
---|---|---|
shouldAnonymizeUser | bool | là 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.
parameter | type | description |
---|---|---|
seconds | int | thờ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.
parameter | type | description |
---|---|---|
hostPrefixName | string | |
hostName | string |
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
parameter | type | description |
---|---|---|
cryptMethod | EmailCryptType | không có hoặc sha256 |
emails | params 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.
parameter | type | description |
---|---|---|
phoneNumber | string |
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.
parameter | type | description |
---|---|---|
objectName | string | đố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.
parameter | type | description |
---|---|---|
appID | string | |
campaign | string | |
userParams | Dictionary<string, string> | |
gameObject | MonoBehaviour | đố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.
parameter | type | description |
---|---|---|
adRevenueData | AFAdRevenueData | Instance of AFAdRevenueData containing ad revenue information |
additionalParameters | Dictionary<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.
parameter | type | description |
---|---|---|
appID | string | ID ứng dụng |
campaign | string | campaign |
params | Dictionary<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-
parameter | type | description |
---|---|---|
parameters | Dictionary<string, string> | |
gameObject | MonoBehaviour | đố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.
parameter | type | description |
---|---|---|
partners | params 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.
parameter | type | description |
---|---|---|
partners | params 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.
parameter | type | description |
---|---|---|
partnerID | string | ID của đối tác (thường kèm theo "_int"). |
partnerInfo | params 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.
parameter | type | description |
---|---|---|
token | string | Mã 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ể.
parameter | type | description |
---|---|---|
imei | string | IMEI 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ể.
parameter | type | description |
---|---|---|
androidId | string | ID 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.
parameter | type | description |
---|---|---|
wait | bool | Là 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.
parameter | type | description |
---|---|---|
id | string | ID 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.
parameter | type | description |
---|---|---|
sourceName | string |
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.
parameter | type | description |
---|---|---|
isCollect | bool |
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.
parameter | type | description |
---|---|---|
isCollect | bool |
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.
parameter | type | description |
---|---|---|
isUpdate | bool | là 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ổ.
parameter | type | description |
---|---|---|
mediaSource | string | Nhà sản xuất hoặc tên nguồn truyền thông cho phân bổ cài đặt sẵn. |
campaign | string | Tên chiến dịch cho phân bổ cài đặt sẵn. |
siteId | string | ID 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.
parameter | type | description |
---|---|---|
details | AFPurchaseDetailsAndroid | Instance of AFPurchaseDetailsAndroid class |
additionalParameters | Dictionary<string, string> | các thông số sẽ được gửi cùng với giao dịch mua. |
gameObject | MonoBehaviour | Đố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.
parameter | type | description |
---|---|---|
publicKey | string | Mã khóa Cấp phép lấy từ Google Play Console. |
signature | string | data.INAPP_DATA_SIGNATURE. |
purchaseData | string | data.INAPP_PURCHASE_DATA |
price | string | Giá mua |
currency | string | ID trang web cho phân bổ cài đặt sẵn. |
additionalParameters | Dictionary<string, string> | các thông số sẽ được gửi cùng với giao dịch mua. |
gameObject | MonoBehaviour | Đố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.
parameter | type | description |
---|---|---|
isCollect | bool | là 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)
parameter | type | description |
---|---|---|
disable | bool | là 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.
parameter | type | description |
---|---|---|
disable | bool | là 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.
parameter | type | description |
---|---|---|
disable | bool |
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.
parameter | type | description |
---|---|---|
pushPayload | Dictionary<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.
parameter | type | description |
---|---|---|
shouldCollectDeviceName | bool |
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.
parameter | type | description |
---|---|---|
disableCollectIAd | bool |
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.
parameter | type | description |
---|---|---|
useReceiptValidationSandbox | bool | là 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.
parameter | type | description |
---|---|---|
useUninstallSandbox | bool | là 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.
parameter | type | description |
---|---|---|
details | AFSDKPurchaseDetailsIOS | Instance of AFSDKPurchaseDetailsIOS class. |
extraEventValues | Dictionary<string, string> | Thông số bổ sung mà bạn muốn nhận trong báo cáo thô. |
gameObject | MonoBehaviour | the 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.
parameter | type | description |
---|---|---|
productIdentifier | string | Mã định danh sản phẩm. |
price | string | Giá sản phẩm. |
currency | string | Đơn vị tiền tệ của sản phẩm. |
tranactionId | string | Id giao dịch mua hàng. |
additionalParameters | Dictionary<string, string> | Thông số bổ sung mà bạn muốn nhận trong báo cáo thô. |
gameObject | MonoBehaviour | đố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.
parameter | type | description |
---|---|---|
deviceToken | byte[] | 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.
parameter | type | description |
---|---|---|
url | string | URL sẽ được chuyển đến AppDelegate của bạn |
sourceApplication | string | sourceApplication sẽ được chuyển đến AppDelegate của bạn |
annotation | string | Chú 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.
parameter | type | description |
---|---|---|
timeoutInterval | int | Thời gian chờ idfa |
Ví dụ:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif
disableSKAdNetwork
bools disableSKAdNetwork(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | Là true để tắt SKAdNetwork |
Ví dụ:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableSKAdNetwork(true);
#endif
setLanguage
setCurrentDeviceLanguage(string language)
parameter | type | description |
---|---|---|
language | String | Ngôn ngữ cần đặt |
Ví dụ:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setCurrentDeviceLanguage("english");
#endif
disableIDFVCollection
disableIDFVCollection(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True 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.
parameter | type | description |
---|---|---|
conversionData | string | Chuỗ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)
parameter | type | description |
---|---|---|
error | string | Mộ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.
parameter | type | description |
---|---|---|
attributionData | string | Chuỗ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ổ.
parameter | type | description |
---|---|---|
error | string | chuỗ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.
parameter | type | description |
---|---|---|
link | string | liê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
parameter | type | description |
---|---|---|
error | string | Mộ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
parameter | type | description |
---|---|---|
attributionData | string | Chuỗ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.
parameter | type | description |
---|---|---|
result | string | xá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.
parameter | type | description |
---|---|---|
result | string | xá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.
parameter | type | description |
---|---|---|
error | string | Mộ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.
statusCode | errorDescription |
---|---|
200 | null |
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) |
40 | Network 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.
statusCode | errorDescription |
---|---|
200 | null |
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) |
40 | Network 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
};
Đã cập nhật 3 tháng trước