Khái quát: Tích hợp SDK AppsFlyer vào các trò chơi iOS/Android được phát triển bằng Unity để đo lường lượt cài đặt, sự kiện trong ứng dụng, nguồn truyền thông, v.v.
Hỗ trợ Unity V6 cho iOS 14
Trình cắm Unity V6 bao gồm hỗ trợ cho iOS 14 và có những thay đổi đáng kể về phương thức của API so với các phiên bản trước. Chuyển sang Unity V6 từ phiên bản trước tạo ra thay đổi lớn. Những thay đổi này bao gồm các API mới, các lớp và tên gói khác nhau và việc loại bỏ: com.appsflyer.GetDeepLinkingActivity
Để cập nhật trình cắm của bạn từ phiên bản cũ hơn (V5), hãy xem hướng dẫn của chúng tôi về cách chuyển sang phiên bản beta V6 (yêu cầu cập nhật gói Unity).
Lưu ý
Trình cắm Unity V4 không còn được hỗ trợ. Hướng dẫn tích hợp V4 có sẵn để tải xuống ở định dạng PDF (liên kết bên dưới).
Trình cắm Unity V6
Trình cắm Unity V6 cho phép phát triển các ứng dụng iOS và Android bằng nền tảng thời gian thực Unity. Dựa trên SDK trên thiết bị di động của AppsFlyer, trình cắm này triển khai các phương thức tương tự và hỗ trợ chức năng tương đương của SDK dành riêng cho nền tảng (iOS và Android). Trình cắm này là mã nguồn mở và có sẵn trên GitHub. Trong bài viết này, thuật ngữ trình cắm và SDK được sử dụng thay thế cho nhau.
1. Tổng quan—Unity V6
Các ứng dụng di động được phát triển trên nền tảng Unity sử dụng một trình cắm AppsFlyer chung cho cả nền tảng Android và iOS.
Tab | Nội dung | Kết quả |
---|---|---|
[Bắt buộc] Tích hợp |
Thêm và cấu hình trình cắm |
Bảng điều khiển ứng dụng sẽ hiển thị:
|
[Đề xuất] |
Sử dụng các API lõi của trình cắm để:
|
Bảng điều khiển ứng dụng sẽ hiển thị:
Sẵn sàng cho:
|
Các API bổ sung |
Triển khai và sử dụng các API tùy chọn cho:
|
Sẵn sàng cho:
|
Tham chiếu API |
Tham chiếu API SDK nhanh cho nhà phát triển |
Sau khi bạn triển khai và khởi chạy trình cắm, nhà tiếp thị/nhà quảng cáo sẽ có thể thấy hai lượt cài đặt trên bảng điều khiển Tổng quan của ứng dụng—một là tự nhiên và một là không tự nhiên.
2. Thêm trình cắm vào ứng dụng của bạn
Quan trọng!
AppsFlyer Unity SDK không hỗ trợ Hệ thống Xây dựng Nội bộ của Unity.
2.1 Tải xuống trình cắm Unity AppsFlyer
Tải xuống trình cắm từ GitHub.
2.2 Cài đặt trình cắm
Trình quản lý Phụ thuộc Bên ngoài cho Unity (EDM4U) được phân bổ cùng trình cắm Unity AppsFlyer theo mặc định. Điều này giúp quá trình tích hợp dễ dàng hơn bằng cách giải quyết xung đột phụ thuộc giữa trình cắm của bạn và các trình cắm khác trong dự án của bạn.
Để cài đặt trình cắm:
Thêm appsflyer-unity-plugin.v*.unitypackage để tự động nhập tất cả các tài sản cần thiết cho cả trình cắm AppsFlyer và EDM4U.
Để cài đặt trình cắm mà không có EDM4U:
- Nhập appsflyer-unity-plugin.v*.unitypackage vào dự án của bạn, nhưng đảm bảo xóa lựa chọn thành phần phụ thuộc EDM4U.
- Tải xuống và thêm các thành phần phụ thuộc Android bắt buộc vào thư mục Assets/Plugins/Android:
- Tải xuống và thêm các thành phần phụ thuộc iOS bắt buộc vào thư mục Assets/Plugins/iOS/AppsFlyer:
2.3 Thiết lập Android
Để thiết lập các quyền cần thiết của Android:
Thiết đặt các quyền truy cập sau vào AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Optional : -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
3. Khởi tạo trình cắm
Phần này mô tả cách triển khai và khởi tạo trình cắm.
3.1 Lấy dev key
- Mã khóa là duy nhất và xác định tài khoản. Trong một số trường hợp, có mã khóa cấp ứng dụng.
- Bắt buộc cần dev key.
Để lấy dev key:
- Trong AppsFlyer, đi đến Configuration (Cấu hình) > App Settings (Cài đặt ứng dụng).
- Lấy dev key.
3.2 Khởi tạo trình cắm
Để khởi tạo trình cắm bằng tạo sẵn:
- Đi đến Assets (Tài sản) > AppsFlyer.
- Kéo AppsFlyerObject.prefab vào cảnh của bạn.
- Thiết đặt các trường sau:
Cài đặt Nhận xét Dev key Dán dev key mà bạn đã lấy trước đó. ID ứng dụng iOS: Nhập ID ứng dụng iOS (không có tiền tố
id
).Android: Để trống.
Nhận dữ liệu chuyển đổi Nếu ứng dụng triển khai liên kết sâu AppsFlyer, hãy đặt thành 'True'. Mặc định là 'False', nghĩa là liên kết sâu KHÔNG được triển khai theo mặc định. Đang gỡ lỗi Để xem nhật ký gỡ lỗi trong quá trình phát triển: Đặt thành true.
Lưu ý: Đảm bảo tắt (đặt thành false) trước khi phát hành phiên bản chính thức cho ứng dụng.
- Cập nhật mã trong Assets (Tài sản) > AppsFlyer > AppsFlyerObjectScript.cs với các API khác có sẵn.
Để tích hợp thủ công:
Tạo một đối tượng trò chơi và thêm mã init sau:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour , IAppsFlyerConversionData
{
void Start()
{
/* AppsFlyer.setDebugLog(true); */
AppsFlyer.initSDK("devkey", "appID", this);
AppsFlyer.startSDK();
}
public void onConversionDataSuccess(string conversionData)
{
AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
// add deferred deeplink logic here
}
public void onConversionDataFail(string error)
{
AppsFlyer.AFLog("onConversionDataFail", error);
}
public void onAppOpenAttribution(string attributionData)
{
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
// add direct deeplink logic here
}
public void onAppOpenAttributionFailure(string error)
{
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
}
}
Lưu ý: Đảm bảo không gọi lệnh hủy đối tượng trò chơi.
4. Kiểm tra lượt cài đặt
4.1 Đưa thiết bị thử nghiệm vào danh sách cho phép
Đưa thiết bị thử nghiệm vào danh sách cho phép.
4.2 Mô phỏng lượt cài đặt
Mô phỏng lượt cài đặt tự nhiên và không tự nhiên.
Mô phỏng lượt cài đặt tự nhiên
Cài đặt tự nhiên là lượt cài đặt không phân bổ; thường là kết quả của lượt cài đặt trực tiếp thông qua các cửa hàng ứng dụng.
Để mô phỏng lượt cài đặt tự nhiên, hãy xem hướng dẫn của các hệ điều hành liên quan:
Mô phỏng lượt cài đặt không tự nhiên
Cài đặt không tự nhiên là lượt cài đặt được phân bổ; thường là kết quả của một lượt tương tác quảng cáo.
Để mô phỏng lượt cài đặt không tự nhiên (bằng đường dẫn phân bổ), hãy xem hướng dẫn của các hệ điều hành liên quan:
Lưu ý
Khi bạn hoàn tất quá trình thử nghiệm và gỡ lỗi tích hợp, hãy tắt nhật ký.
Ghi nhận các sự kiện trong ứng dụng và doanh thu đo lường chất lượng của người dùng ứng dụng, đồng thời liên kết sâu cho phép bạn mang đến cho người dùng ứng dụng trải nghiệm người dùng tốt hơn.
Trong tab này, nhà phát triển ứng dụng sẽ tìm thấy các hướng dẫn liên quan. Tuy nhiên, ý kiến đóng góp của chủ sở hữu/nhà tiếp thị là rất cần thiết. Chủ sở hữu ứng dụng:
- Quyết định các sự kiện trong ứng dụng cần thiết để ghi nhận và đo lường chất lượng người dùng.
- Cần truy cập nền tảng AppsFlyer để thiết lập OneLink cho liên kết sâu.
5. Ghi nhận sự kiện trong ứng dụng
Ghi nhận sự kiện trong ứng dụng để đo lường KPI như doanh thu, ROI và LTV (Giá trị Vòng đời).
Sự kiện trong ứng dụng nên được triển khai để ghi nhận các sự kiện của người dùng. Sự kiện có thể được gửi theo một số cách:
- [Phương pháp tốt nhất] Gửi sự kiện qua ứng dụng như được mô tả trong bài viết này.
- Các phương thức khác xin xem hướng dẫn tổng quan về sự kiện trong ứng dụng.
Đối với các ứng dụng thuộc ngành dọc, ví dụ: du lịch, trò chơi, Thương mại điện tử, xin xem danh sách các sự kiện trong ứng dụng được đề xuất theo ngành dọc.
5.1 Tên và tham số sự kiện trong ứng dụng
Để gửi sự kiện:
- Xác định tên và thông số của sự kiện.
- Xem danh sách liên quan:
- Danh sách các tên và cấu trúc sự kiện được đề xuất
- Danh sách được tìm thấy trong lớp
AFInAppEvents
.
[Phương pháp tốt nhất] Sử dụng tên và thông số sự kiện vì những lý do sau:
- Đặt tên tiêu chuẩn: AppsFlyer có thể tự động ánh xạ các sự kiện đến SRN như Facebook, Google và Twitter.
- Khả năng tương thích ngược: Không có vấn đề gì phát sinh nếu AppsFlyer thay đổi tên hoặc thông số sự kiện. Việc triển khai tương thích ngược.
5.2 Ghi nhận doanh thu
Báo cáo doanh thu bằng cách thêm thông số af_revenue
vào các sự kiện trong ứng dụng.
- Điền
af_revenue
bằng các giá trị số. Cho phép giá trị âm. - Thông số
af_revenue
điền các bộ đếm doanh thu AppsFlyer và các trường dữ liệu thô. Làm như vậy cho phép các nhà tiếp thị xem doanh thu trong bảng điều khiển. - Doanh thu có thể được gửi bằng các thông số khác, nhưng nền tảng AppsFlyer sẽ không ghi nhận đó là doanh thu. Nhấp vào đây để biết thêm chi tiết.
- Giá trị doanh thu không được chứa dấu phẩy phân tách, ký hiệu tiền tệ hoặc văn bản.
Ví dụ sự kiện doanh thu: 1234.56
Phương pháp tốt nhất: Tìm hiểu về cài đặt tiền tệ, hiển thị và chuyển đổi tiền tệ.
Yêu cầu về mã tiền tệ khi gửi sự kiện doanh thu
- Tiền tệ mặc định: USD
- Sử dụng mã ISO 4217 gồm 3 ký tự (ví dụ phía dưới).
- Đặt mã tiền tệ bằng cách gọi API:
AppsFlyer.setCurrencyCode("ZZZ")
Ví dụ: Sự kiện mua trong ứng dụng có doanh thu
Sự kiện mua này có giá 200,12 Euro. Để doanh thu phản ánh trong bảng điều khiển, hãy sử dụng phía dưới.
System.Collections.Generic.Dictionary<string, string> purchaseEvent = new
System.Collections.Generic.Dictionary<string, string> ();
purchaseEvent.Add(AFInAppEvents.CURRENCY, "EUR");
purchaseEvent.Add(AFInAppEvents.REVENUE, "200.12");
purchaseEvent.Add(AFInAppEvents.QUANTITY, "1");
purchaseEvent.Add(AFInAppEvents.CONTENT_TYPE, "category_a",);
AppsFlyer.sendEvent ("af_purchase", purchaseEvent);
Ghi nhận doanh thu âm
Ghi nhận doanh thu âm bằng dấu trừ.
- Giá trị doanh thu được bắt đầu bằng dấu trừ.
- Tên sự kiện có giá trị duy nhất "cancel_purchase". Điều này cho phép bạn xác định các sự kiện doanh thu âm trong báo cáo dữ liệu thô trên bảng điều khiển.
Ví dụ: Người dùng ứng dụng nhận được tiền hoàn lại hoặc hủy đăng ký.
System.Collections.Generic.Dictionary<string, string> purchaseEvent = new
System.Collections.Generic.Dictionary<string, string> ();
purchaseEvent.Add(AFInAppEvents.CURRENCY, "USD");
purchaseEvent.Add(AFInAppEvents.REVENUE, "-200");
purchaseEvent.Add(AFInAppEvents.QUANTITY, "1");
purchaseEvent.Add(AFInAppEvents.CONTENT_TYPE, "category_a");
AppsFlyer.sendEvent ("cancel_purchase", purchaseEvent);
5.3 Xác nhận mua trong ứng dụng
Trình cắm cung cấp xác minh máy chủ để mua hàng trong ứng dụng.
Để xác thực giao dịch mua, hướng dẫn cụ thể theo hệ điều hành:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyerAndroid.validateAndSendInAppPurchase(
"publicKey",
"signature",
"purchaseData",
"price",
"currency",
null,
this);
#endif
Đảm bảo bạn thử nghiệm gọi máy chủ sandbox Apple:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyeriOS.validateAndSendInAppPurchase(
"productIdentifier",
"price",
"currency",
"tranactionId",
null,
this);
#endif
Các tham số phương thức
Tham số | Mô tả |
---|---|
Chuỗi publicKey | Khóa công khai từ Giao diện điều khiển dành cho Nhà phát triển của Google |
Chuỗi chữ ký |
Chữ ký giao dịch; được Google API trả về khi hoàn thành giao dịch |
Chuỗi purchaseData |
Sản phẩm được mua dưới định dạng JSON; được Google API trả về khi hoàn thành giao dịch |
Chuỗi doanh thu | Doanh thu sự kiện trong ứng dụng sẽ được báo cáo cho AppsFlyer |
Chuỗi tiền tệ | Tiền tệ sự kiện trong ứng dụng sẽ được báo cáo cho AppsFlyer |
Dictionary<String, String> additionalParameters |
Thông số sự kiện trong ứng dụng bổ sung sẽ xuất hiện trong trường event_value trong dữ liệu thô sự kiện trong ứng dụng |
Tham số | Mô tả |
---|---|
Chuỗi productIdentifier | Mã định danh của sản phẩm |
Chuỗi giá | Doanh thu sự kiện trong ứng dụng sẽ được báo cáo cho AppsFlyer |
Chuỗi tiền tệ | Tiền tệ sự kiện trong ứng dụng sẽ được báo cáo cho AppsFlyer |
Dictionary<String, String> additionalParameters |
Thông số sự kiện trong ứng dụng bổ sung sẽ xuất hiệntrong trường event_value trong dữ liệu thô sự kiện trong ứng dụng |
Lưu ý
Gọi ra validateReceipt
để tự động tạo sự kiện trong ứng dụng af_purchase.
Không gửi sự kiện mua sau khi xác thực giao dịch mua. Làm như vậy dẫn đến báo cáo sự kiện trùng lặp.
5.4 Những điều cần lưu ý về sự kiện trong ứng dụng
- Tên sự kiện: tối đa 45 ký tự
- Giá trị sự kiện: không được vượt quá 1000 ký tự - nếu dài hơn chúng tôi có thể cắt bớt nó
- Hỗ trợ các ký tự không phải tiếng Anh cho các sự kiện trong ứng dụng (và các API khác)
- Giá cả và doanh thu:
- Chỉ sử dụng số và số thập phân như 5 hoặc 5,2
- Cho phép tối đa 5 số sau số thập phân. Ví dụ: 5,12345
5.5 Ví dụ về ghi nhận sự kiện trong ứng dụng
Ghi nhận các sự kiện trong ứng dụng bằng cách gọi sendEvent
và đưa vào các thông số giá trị và tên sự kiện.
Xem Sự kiện trong ứng dụng để biết thêm thông tin chi tiết.
Ví dụ: Cách ghi nhận sự kiện mua trong ứng dụng
Để biết danh sách đầy đủ các đoạn mã được tạo sẵn cho mỗi cấu trúc dọc, vui lòng xem hướng dẫn của chúng tôi về sự kiện phong phú trong ứng dụng cho mỗi cấu trúc dọc.
System.Collections.Generic.Dictionary<string, string> purchaseEvent = new
System.Collections.Generic.Dictionary<string, string> ();
purchaseEvent.Add(AFInAppEvents.CURRENCY, "USD");
purchaseEvent.Add(AFInAppEvents.REVENUE, "200");
purchaseEvent.Add(AFInAppEvents.QUANTITY, "2");
purchaseEvent.Add(AFInAppEvents.CONTENT_TYPE, "category_a");
purchaseEvent.Add(AFInAppEvents.CONTENT_ID, "092");
AppsFlyer.sendEvent (AFInAppEvents.PURCHASE, purchaseEvent);
5.6 Ghi nhận các sự kiện trong ứng dụng ngoại tuyến
Đôi khi người dùng tạo các sự kiện trong ứng dụng, trong khi họ không có kết nối internet. AppsFlyer lưu sự kiện và báo cáo vào bộ nhớ cache khi có thể.
- Trình cắm gửi các sự kiện đến máy chủ AppsFlyer và chờ phản hồi.
- Nếu trình cắm không nhận được phản hồi mã 200, sự kiện được lưu trữ trong bộ nhớ cache.
- Sau khi nhận được phản hồi mã 200 tiếp theo, sự kiện đã lưu trữ được gửi lại cho máy chủ.
- Nếu bộ nhớ cache lưu trữ nhiều sự kiện, chúng sẽ được gửi đến máy chủ lần lượt.
Lưu ý
Bộ nhớ cache có thể lưu trữ tối đa 40 sự kiện.
- Chỉ 40 sự kiện ngoại tuyến đầu tiên được lưu.
- Tất cả các sự kiện ngoại tuyến tiếp theo, cho đến phản hồi mã 200 tiếp theo, sẽ bị loại bỏ.
- Trong báo cáo dữ liệu thô,
- Thời gian sự kiện = khi một sự kiện được gửi tới AppsFlyer sau khi thiết bị được kết nối internet trở lại.
- Đây không phải là lúc sự kiện đã diễn ra.
6. Liên kết sâu với OneLink
OneLink của AppsFlyer là giải pháp để phân bổ đa nền tảng: chuyển hướng và liên kết sâu.
6.1 Phát hiện và chuyển hướng thiết bị
OneLink:
- Phát hiện loại thiết bị (Android và iOS, máy tính để bàn, v.v.) khi người dùng nhấp vào, sau đó
- Chuyển hướng người dùng đến đích chính xác: Google Play, cửa hàng ứng dụng iOS, thị trường ngoài cửa hàng hoặc các trang web.
Để triển khai các đường dẫn phân bổ đa nền tảng và xem lại các nội dung cơ bản về liên kết sâu, hãy xem hướng dẫn Chuyển hướng OneLink.
6.2 Liên kết sâu
Sử dụng liên kết sâu để chuyển hướng người dùng hiện có đến các hoạt động cụ thể và nội dung tùy chỉnh.
Chủ sở hữu ứng dụng và nhà phát triển phải làm việc cùng nhau để thiết lập liên kết sâu với OneLink:
- Chủ sở hữu ứng dụng phải truy cập bảng điều khiển của AppsFlyer
- Nhà phát triển phải truy cập ứng dụng
6.3 Liên kết sâu bị trì hoãn
liên kết sâu bị trì hoãn cho phép bạn liên kết sâu người dùng mới để chuyển hướng họ đến các hoạt động cụ thể và nội dung tùy chỉnh cùng lần khởi chạy cài đặt ứng dụng lần đầu.
Liên kết sâu tiêu chuẩn cũng chuyển hướng người dùng đến các hoạt động cụ thể và nội dung tùy chỉnh, nhưng phải cài đặt ứng dụng sẵn trên thiết bị của người dùng.
Để thiết lập liên kết sâu bị trì hoãn với OneLink:
- Nhà phát triển cần quyền truy cập vào nền tảng AppsFlyer.
- Thiết lập nền tảng AppsFlyer cho liên kết sâu bị trì hoãn và tiêu chuẩn là như nhau.
- Phải triển khai logic bổ sung trong ứng dụng để liên kết sâu người dùng và cung cấp cho họ nội dung tùy chỉnh sau khi họ cài đặt và khởi chạy ứng dụng.
Kiểm tra liên kết sâu bị trì hoãn để biết thêm thông tin.
6.4 Nhận dữ liệu liên kết sâu
Trình cắm cung cấp dữ liệu chuyển đổi hoặc thu hút sau mỗi sự kiện cài đặt hoặc liên kết sâu. Sử dụng dữ liệu này để tùy chỉnh nội dung hoặc hành vi theo chương trình của ứng dụng.
Để nhận dữ liệu liên kết sâu:
- Triển khai gọi lại
onAppOpenAttribution
(được tìm thấy trong lớpIAppsFlyerConversionData
); được gọi bằng trình cắm AppsFlyer. - Các tham số OneLink/đường dẫn phân bổ sẽ kích hoạt mở ứng dụng.
- Phân tích các giá trị và áp dụng logic để kích hoạt trang ứng dụng liên quan.
public void onAppOpenAttribution(string attributionData)
{
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
// add direct deeplink logic here
}
Kiểm tra dữ liệu liên kết sâu để biết thêm thông tin.
7. Lấy dữ liệu chuyển đổi
Quyền truy cập vào dữ liệu phân bổ người dùng theo thời gian thực có sẵn cho mỗi lượt cài đặt. Sử dụng điều này để nâng cao mức độ thu hút của người dùng bằng cách cung cấp:
- Nội dung được cá nhân hóa
- Đưa người dùng đến các hoạt động cụ thể trong một ứng dụng. Xem deferred deep linking trong bài viết này.
Để tải dữ liệu chuyển đổi của AppsFlyer:
- Triển khai
IAppsFlyerConversionDatabase
. - Gọi phương thức
initSDK
với đây là thông số cuối cùng. - Sử dụng phương thức
onConversionDataSuccess
để chuyển hướng người dùng.
Xem tham chiếu API cho onConversionDataSuccess.
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour , IAppsFlyerConversionData
{
void Start()
{
/* AppsFlyer.setDebugLog(true); */
AppsFlyer.initSDK("devkey", "appID", this);
AppsFlyer.startSDK();
}
public void onConversionDataSuccess(string conversionData)
{
AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
// add deferred deeplink logic here
}
public void onConversionDataFail(string error)
{
AppsFlyer.AFLog("onConversionDataFail", error);
}
public void onAppOpenAttribution(string attributionData)
{
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
// add direct deeplink logic here
}
public void onAppOpenAttributionFailure(string error)
{
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
}
}
8. Phân bổ
Đo lường lượt Gỡ cài đặt
Đo tỷ lệ gỡ cài đặt của người dùng đến từ các nguồn khác nhau.
Để thiết lập đo lường lượt gỡ cài đặt, hãy xem hướng dẫn hệ điều hành liên quan.
- Tải về Unity Firebase SDK từ https://firebase.google.com/docs/unity/setup.
- Nhập FirebaseMessaging.unitypackage vào dự án.
- Nhập google-services.json vào dự án (nhận được từ giao diện điều khiển Firebase)
Lưu ý
Unity Firebase SDK tự động thêm người nhận bản kê.
- Thêm mã này vào lớp Unity xử lý mã AppsFlyer:
sử dụng Firebase.Messaging; sử dụng Firebase.Unity;
- Thêm vào phương thức Start():
Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
- Thêm phương thức này:
public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token)
{
#if UNITY_ANDROID
AppsFlyerAndroid.updateServerUninstallToken(token.Token);
#endif
}
Cảnh báo
Tình huống: Triển khai Unity Firebase SDK.
Yêu cầu: Không thêm lệnh gọi phương thức sau vào enableUninstallTracking("SenderID") nếu bạn đã thêm Firebase Unity SDK vào dự án của mình.
Hậu quả nếu được thêm vào:
- Firebase Unity SDK sẽ lấy ID người gửi từ tệp google-services.json (đã được thêm trước đó).
- Do đó, điều này có thể gây ra cảnh báo gỡ lỗi từ Android.
Nhận token thiết bị của bạn từ UnityEngine.iOS.NotificationService.deviceToken.
Gọi phương pháp này khi bạn nhận được token thiết bị (sự cố nội dung của tab):
AppsFlyer.registerUninstall("device_push_notification_token");
Ví dụ:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour, IAppsFlyerConversionData
{
private bool tokenSent;
void Start()
{
AppsFlyer.initSDK("devKey", "appID", this);
AppsFlyer.startSDK();
#if UNITY_IOS
UnityEngine.iOS.NotificationServices.RegisterForNotifications(UnityEngine.iOS.NotificationType.Alert | UnityEngine.iOS.NotificationType.Badge | UnityEngine.iOS.NotificationType.Sound);
#endif
}
void Update()
{
#if UNITY_IOS
if (!tokenSent)
{
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if (token != null)
{
AppsFlyeriOS.registerUninstall(token);
tokenSent = true;
}
}
#endif
}
}
Để biết thêm chi tiết, hãy xem Hướng dẫn Gỡ cài đặt iOS
Thiết lập dữ liệu tùy chỉnh bổ sung
Để 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), cần phải sử dụng API setAdditionalData
.
Chỉ sử dụng API này nếu bài viết tích hợp đối tác nêu rõ ràng API setAdditionalData
là bắt buộc.
Ví dụ: mã setAdditableData
Dictionary<string, string> CustomDataMap = new Dictionary<string, string>();
CustomDataMap.Add("custom_param_1", "value_of_param_1");
AppsFlyer.setAdditionalData(CustomDataMap);
9. Các phiên
Tùy chỉnh thời gian giữa các phiên
Theo mặc định, phải mất ít nhất 5 giây giữa hai lần khởi chạy ứng dụng để được tính là hai phiên riêng biệt. Thiết lập thời gian tối thiểu giữa các phiên:
AppsFlyer.setMinTimeBetweenSessions(custom_time_ins_seconds);
Lưu ý! Nếu bạn đặt giá trị cao cho thời gian tùy chỉnh giữa các lần khởi chạy, điều này có thể ảnh hưởng xấu đến các API dựa trên dữ liệu phiên (chẳng hạn như liên kết sâu).
Xem thêm về tính phiên ứng dụng.
Phiên chạy nền cho ứng dụng tiện ích
Không có sẵn trong Unity.
10. Kênh truyền thông riêng
Giải quyết các URL liên kết sâu được gói
Một số dịch vụ của bên thứ 3 (chẳng hạn như nhà cung cấp dịch vụ email):
- Gói liên kết trong email bằng cách sử dụng các miền ghi nhận nhấp chuột của riêng của chúng.
- Cho phép bạn thiết lập các miền ghi nhận nhấp chuột của riêng bạn.
Nếu OneLink được gói trong các miền như vậy, điều này có thể giới hạn chức năng của nó. Để khắc phục điều này:
- Gọi API
setResolveDeepLinkURLs
trước khi khởi tạo SDK. - API nhận OneLink từ các miền nhấp chuột để khởi chạy ứng dụng.
Tình huống: Ba miền nhấp chuột chuyển hướng đến OneLink của bạn tại https://mysubdomain.onelink.me/abCD.
Giải pháp:
- Sử dụng API
setResolveDeepLinkURLs
để nhận OneLink đạt được sau khi các miền nhấp chuột chuyển hướng một người dùng ứng dụng. - Phương thức API này nhận được danh sách các miền do trình cắm giải quyết.
- Mã sau cho phép bạn sử dụng miền nhấp chuột của mình nhưng đồng thời, duy trì chức năng của OneLink:
Ví dụ
AppsFlyer.setResolveDeepLinkURLs("example.com", "click.example.com");
Bây giờ, sử dụng dữ liệu từ OneLink để liên kết sâu và tùy chỉnh nội dung người dùng.
Ghi nhận thông báo đẩy
Ghi nhận thông báo đẩy như một phần của chiến dịch nhắm mục tiêu lại.
Để ghi nhận thông báo đẩy:
- Gọi phương thức
sendPushNotificationData
. - Phương thức này nằm trong phương thức
onCreate
của mọi hoạt động được khởi chạy sau khi nhấp vào thông báo này:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyerAndroid.handlePushNotifications();
#endif
Để biết thêm thông tin, hãy đọc về đo lường thông báo đẩy.
Phân bổ Mời người dùng
Nếu người dùng ứng dụng hiện có mời bạn bè và liên hệ của họ trở thành người dùng mới, đây có thể là một nguồn tăng trưởng.
Phân bổ và ghi nhận cài đặt có nguồn gốc từ lời mời của người dùng trong ứng dụng. Phân bổ lời mời của người dùng.
Phân bổ quảng cáo chéo
Các ứng dụng quảng cáo chéo có thể thúc đẩy lượt cài đặt ứng dụng bổ sung.
Phân bổ và ghi nhận cài đặt có nguồn gốc từ một chiến dịch quảng cáo chéo—quảng cáo một trong các ứng dụng của bạn từ trong số các ứng dụng khác của bạn đã được một trong những người dùng của bạn khởi chạy. Phân bổ quảng cáo chéo.
11. Bộ định danh người dùng
Nhận ID AppsFlyer
ID AppsFlyer được tạo cho mỗi lần cài đặt ứng dụng mới. Sử dụng ID AppsFlyer để:
- Gửi các sự kiện trong ứng dụng server-to-server .
- Khớp ID với hồ sơ người dùng trong các hệ thống back-end của bạn.
- Ánh xạ các mục khi hợp nhất dữ liệu từ API kéo và đẩy.
Để có được ID AppsFlyer duy nhất:
string AppsFlyerUID = AppsFlyer.getAppsFlyerId();
Thiết lập ID người dùng Customer User ID
Đặt customer user ID (CUID) duy nhất của riêng bạn và tham chiếu chéo ID đó với ID AppsFlyer duy nhất.
CUID duy nhất:
- Xuất hiện trong báo cáo CSV dữ liệu thô của AppsFlyer.
- Có thể được sử dụng trong API postback để tham chiếu chéo với các ID nội bộ.
Để đặt CUID, hãy sử dụng:
AppsFlyer.setCustomerUserId("someId");
Phương pháp thực hành tốt! Đặt CUID sớm trong luồng của ứng dụng—nó chỉ được liên kết với các sự kiện được báo cáo sau khi thiết lập.
Gọi setCustomerUserId
trước khi gọi startSDK
- Các sự kiện được ghi nhận sẽ được liên kết với CUID.
- Dữ liệu liên quan sẽ xuất hiện trong các báo cáo dữ liệu thô cho các lượt cài đặt và sự kiện.
AppsFlyer.setCustomerUserId("someId");
Nhận Customer User ID
Kiểm tra CUID để biết thêm thông tin.
Trì hoãn init của trình cắm cho customerUserID
Đặt customer user ID (CUID) và chỉ sau đó mới khởi tạo trình cắm. Điều này hữu ích nếu bạn muốn dữ liệu cài đặt và sự kiện chứa CUID của bạn.
Xem hướng dẫn của hệ điều hành liên quan:
Cảnh báo
Chỉ trì hoãn cài đặt CUID nếu nó phù hợp với logic kinh doanh của bạn. Nếu bạn trì hoãn cài đặt CUID, điều này có thể tăng khả năng khác biệt và có thể khiến ứng dụng của bạn bị rủi ro về lừa đảo.
Thu thập OAID
OAID là một trong những mã định danh thiết bị duy nhất cho phép phân bổ.
Để thu thập OAID:
OAID được thu thập tự động theo mặc định. Để lựa chọn không tham gia, hãy gọi AppsFlyerAndroid.setCollectOaid(false);
.
- Tải xuống AAR được cung cấp bởi Liên minh MSA.
- Thêm aar đã tải xuống vào thư mục Assets/Plugins/Android.
- Đối với các thiết bị Huawei, hãy thêm
hms-ads-identifier
lib vào thư mục Assets/Plugins/Android. - Thêm appsflyer-oaid vào dự án của bạn. Điều này có thể được thực hiện bằng cách thêm aar vào thư mục Assets/Plugins/Android hoặc bằng cách thêm đoạn sau vào Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:
<androidPackage spec="com.appsflyer:oaid:5.2.0">
</androidPackage>
12. Quyền riêng tư của người dùng
Lựa chọn không tham gia
Các tình huống khác nhau, chẳng hạn như các vấn đề tuân thủ pháp luật và quyền riêng tư, có thể dẫn đến quyết định lựa chọn không tham gia và dừng tất cả ghi nhận (theo dõi)
Phương pháp thực hành tốt nhất!Thực hiện theo các hướng dẫn chính xác cho tình huống liên quan đến ứng dụng của bạn.
Để dừng theo dõi:
- Gọi stopSDK và đặt thành true.
AppsFlyer.stopSDK(true);
- Trình cắm ngừng hoạt động và không còn giao tiếp với các máy chủ AppsFlyer.
Để kích hoạt lại theo dõi: Gọi stopSDK và đặt thành false.
Chú ý
Sử dụng API stopSDK nếu bạn muốn ngừng hoàn toàn việc theo dõi một người dùng ứng dụng cụ thể. Việc sử dụng API ảnh hưởng nghiêm trọng đến phân bổ, thu thập dữ liệu và cơ chế liên kết sâu.
Ẩn danh Dữ liệu Người dùng
Để ẩn danh người dùng ứng dụng:
- Đặt API trong quá trình khởi tạo SDK
- Gọi
anonymizeUser
và đặt thành true.
AppsFlyer.anonymizeUser(true);
- Lượt cài đặt người dùng ứng dụng, sự kiện và phiên được ẩn danh.
Để bắt đầu lại theo dõi: Gọi anonymizeUser
và đặt thành false.
Cảnh báo
Việc ẩn danh người dùng sẽ ả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.Loại trừ các đối tác không được lấy dữ liệu
Trong một số trường hợp, nhà quảng cáo có thể muốn ngừng chia sẻ dữ liệu cấp người dùng với các mạng/đối tác quảng cáo cho những người dùng cụ thể. Lý do cho điều này bao gồm:
- Các chính sách bảo mật như CCPA hoặc GDPR
- Cơ chế chọn lựa không tham gia của người dùng
- Cạnh tranh với một số đối tác (mạng quảng cáo, bên thứ 3)
AppsFlyer cung cấp hai phương thức API để ngừng chia sẻ dữ liệu với một số hoặc tất cả các đối tác:
- setSharingFilter: Đượ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.
- setSharingFilterForAllPartners: Được các nhà quảng cáo sử dụng để loại trừ tất cả mạng/đối tác tích hợp không được lấy dữ liệu.
Các phương thức lọc này được hỗ trợ từ SDK V5.4.1.
Phương thức lọc phải được gọi mỗi khi SDK được khởi tạo và ảnh hưởng đến toàn phiên. Nếu cần thời gian để xác định xem bạn có cần đặt bộ lọc chia sẻ hay không, thì hãy trì hoãn quá trình khởi tạo SDK.
Khi phương thức này được kích hoạt trước lệnh gọi startSDK đầu tiên:
- Người dùng từ SRN được phân bổ là Tự nhiên và dữ liệu của họ không được chia sẻ với các đối tác tích hợp.
- Người dùng từ mạng quảng cáo lượt nhấp (không phải SRN) được phân bổ chính xác trên AppsFlyer, nhưng không được chia sẻ với mạng quảng cáo thông qua postback, API, báo cáo dữ liệu thô hoặc bằng bất kỳ phương thức nào khác.
Hiện tại, không thể lọc dữ liệu gỡ cài đặt bằng các phương thức này. Tuy nhiên, bạn có thể ngừng gửi sự kiện Gỡ cài đặt cho đối tác bằng cách sử dụng trang thiết lập trong AppsFlyer.
API Android và iOS
initSDK
Mô tả |
Khởi tạo trình cắm bằng dev key và ID ứng dụng. Bắt buộc phải có dev key đối với tất cả các ứng dụng. ID ứng dụng chỉ bắt buộc đối với iOS. Nếu ứng dụng của bạn chỉ dành cho Android, hãy bỏ qua null cho ID ứng dụng. Đối tượng trò chơi chứa giao diện IAppsFlyerConversionData. |
Chữ ký phương thức |
|
Ví dụ: |
|
startSDK
Mô tả |
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. |
Chữ ký phương thức |
|
Ví dụ: |
|
sendEvent
Mô tả |
Việc ghi nhận các sự kiện trong ứng dụng được thực hiện bằng cách gọi sendEvent với thông số giá trị và tên sự kiện. |
Chữ ký phương thức |
|
Ví dụ: |
|
stopSDK
Mô tả |
Trong một số trường hợp nghiêm trọng, bạn có thể muốn tắt tất cả các chức năng SDK theo các yêu cầu của các cơ quan quản lý và tuân thủ quyền riêng tư. Để làm như vậy, hãy sử dụng API stopSDK. Sau khi được gọi, SDK không còn giao tiếp với máy chủ AppsFLyer nữa và ngừng hoạt động. |
Chữ ký phương thức |
|
Ví dụ: |
|
isSDKStopped
Mô tả |
API stopSDK (boolean) có được đặt thành true không. |
Chữ ký phương thức |
bool isSDKStopped() |
Ví dụ: |
|
getSdkVersion
Mô tả |
Tải xuống phiên bản SDK AppsFlyer |
Chữ ký phương thức |
|
Ví dụ: |
|
setIsDebug
Mô tả |
Bật nhật ký gỡ lỗi |
Chữ ký phương thức |
|
Ví dụ: |
|
Thiết lập ID người dùng Customer User ID
Mô tả |
Thiết lập customer user ID (CUID). |
Chữ ký phương thức |
|
Ví dụ: |
|
setAppInviteOneLink
Mô tả |
Đặt ID mẫu OneLink được sử dụng để tạo liên kết phân bổ tùy chỉnh cho lời mời của người dùng. |
Chữ ký phương thức |
|
Ví dụ: |
|
setAdditionalData
Mô tả |
Thêm dữ liệu bổ sung để gửi đến các nền tảng đối tác bên ngoài. |
Chữ ký phương thức |
|
Ví dụ: |
|
setResolveDeepLinkURLs
Mô tả |
Giải quyết OneLink từ các miền nhấp chuột. Tìm hiểu thêm về giải quyết các URL liên kết sâu được gói. |
Chữ ký phương thức |
|
Ví dụ: |
|
setOneLinkCustomDomain
Mô tả |
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. |
Chữ ký phương thức |
|
Ví dụ: |
|
setcurrencyCode
Mô tả |
Sử dụng cho các sự kiện có doanh thu. Chấp nhận mã tiền tệ ISO. |
Chữ ký phương thức |
|
Ví dụ: |
|
recordLocation
Mô tả |
Ghi nhận vị trí người dùng theo cách thủ công |
Chữ ký phương thức |
|
Ví dụ: |
|
anonymizeUser
Mô tả |
Sử dụng trong quá trình khởi tạo để ẩn danh rõ ràng lượt cài đặt, sự kiện và phiên của người dùng. Để ngừng ẩn danh, hãy gọi lại anonymizeUser, đặt thành false. |
Chữ ký phương thức |
|
Ví dụ: |
|
getAppsFlyerId
Mô tả |
Để nhận ID duy nhất của AppsFlyer cho lượt cài đặt mới. |
Chữ ký phương thức |
|
Ví dụ: |
|
setMinTimeBetweenSessions
Mô tả |
Theo mặc định, phải qua ít nhất 5 giây giữa 2 lần khởi chạy ứng dụng thì mới được tính là các phiên riêng biệt. Đặt giá trị tùy chỉnh cho thời gian bắt buộc tối thiểu giữa các phiên. |
Chữ ký phương thức |
|
Ví dụ: |
|
setUserEmails
Mô tả |
Đặt email của người dùng và mã hóa chúng. |
Chữ ký phương thức |
|
Ví dụ: |
|
setHost
Mô tả |
Đặt một máy chủ tùy chỉnh |
Chữ ký phương thức |
|
Ví dụ: |
|
getConversionData
Mô tả |
Đăng ký trình nghe dữ liệu chuyển đổi để cho phép truy cập vào dữ liệu phân bổ của người dùng trong 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, hãy 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 độ thu hút của họ với ứng dụng của bạn. |
Chữ ký phương thức |
|
Ví dụ: |
|
attributeAndOpenStore
Mô tả |
Để phân bổ lượt nhấp và khởi chạy trang ứng dụng của cửa hàng ứng dụng. |
Chữ ký phương thức |
|
Ví dụ: |
|
recordCrossPromoteImpression
Mô tả |
Để phân bổ một 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. |
Chữ ký phương thức |
|
Ví dụ: |
|
generateUserInviteLink
Mô tả |
Lớp LinkGenerator xây dựng URL 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. |
Chữ ký phương thức |
|
Ví dụ: |
|
onAppOpenAttribution
Mô tả |
Nhận dữ liệu liên kết sâu khi một ứng dụng mở thông qua một liên kết sâu. |
Chữ ký phương thức |
|
Ví dụ: |
|
onAppOpenAttributionFailure
Mô tả |
Tìm được lỗi trong khi nhận được dữ liệu liên kết sâu. |
Chữ ký phương thức |
|
Ví dụ: |
|
onConversionDataSuccess
Mô tả |
Phương thức được sử dụng để nhận dữ liệu chuyển đổi. Hữu ích cho liên kết sâu bị trì hoãn. Tìm hiểu thêm.
|
Chữ ký phương thức |
|
Ví dụ: |
|
onConversionDataFail
Mô tả |
Xử lý lỗi khi không nhận được dữ liệu chuyển đổi từ các lượt cài đặt. |
Chữ ký phương thức |
|
Ví dụ: |
|
onInviteLinkGenerated
Mô tả |
Gọi lại thành công để tạo URL OneLink. |
Chữ ký phương thức |
|
Ví dụ: |
|
onInviteLinkGeneratedFailure
Mô tả |
Lỗi khi gọi lại để tạo URL OneLink. |
Chữ ký phương thức |
|
Ví dụ: |
|
didFinishValidateReceipt
Mô tả |
Gọi lại thành công cho API validateAndSendInAppPurchase. Đối với Android: Gọi lại trả về "Validate success" (Xác thực thành công). |
Chữ ký phương thức |
|
Ví dụ: |
|
didFinishValidateReceiptWithError
Mô tả |
Lỗi khi gọi lại để xác thực biên lai. |
Chữ ký phương thức |
|
Ví dụ: |
|
setPhoneNumber
Mô tả |
Được sử dụng để đặt số điện thoại của người dùng. |
Chữ ký phương thức |
|
Ví dụ: |
|
setSharingFilterForAllPartners
Mô tả |
Được các nhà quảng cáo sử dụng để loại trừ tất cả mạng/đối tác tích hợp không được lấy dữ liệu. Tìm hiểu thêm |
Chữ ký phương thức |
|
Ví dụ: |
|
setSharingFilter
Mô tả |
Đượ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.Tìm hiểu thêm |
Chữ ký phương thức |
|
Ví dụ: |
|
API Android
updateServerUninstallToken
Mô tả |
Bỏ qua Token thiết bị Firebase theo cách thủ công để đo lường lượt gỡ cài đặt. |
Chữ ký phương thức |
|
Ví dụ: |
|
setImeiData
Mô tả |
Để gửi IMEI đến AppsFlyer một cách rõ ràng. |
Chữ ký phương thức |
|
Ví dụ: |
|
setAndroidIdData
Mô tả |
Để gửi ID Android đến AppsFlyer một cách rõ ràng. |
Chữ ký phương thức |
|
Ví dụ: |
|
waitForCustomerUserId
Mô tả |
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. |
Chữ ký phương thức |
|
Ví dụ: |
|
setCustomerIdAndStartSDK
Mô tả |
Để cung cấp cho SDK customer user id liên quan và kích hoạt SDK bắt đầu hoạt động thường lệ của mình. |
Chữ ký phương thức |
|
Ví dụ: |
|
getOutOfStore
Mô tả |
Nhận giá trị AF_STORE hiện tại. |
Chữ ký phương thức |
|
Ví dụ: |
|
setOutOfStore
Mô tả |
Đặt giá trị AF_STORE theo cách thủ công. |
Chữ ký phương thức |
|
Ví dụ: |
|
setCollectAndroidID
Mô tả |
Lựa chọn không tham gia 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, các ứ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. |
Chữ ký phương thức |
|
Ví dụ: |
|
setCollectIMEI
Mô tả |
Lựa chọn không tham gia thu thập IMEI. Nếu ứng dụng KHÔNG chứa Google Play Services, IMEI của thiết bị sẽ được trình cắm thu thập. Tuy nhiên, các ứng dụng có Google play services nên tránh thu thập IMEI vì điều này vi phạm chính sách của Google Play. |
Chữ ký phương thức |
|
Ví dụ: |
|
setIsUpdate
Mô tả |
Đặt thủ công là ứng dụng đã được cập nhật. |
Chữ ký phương thức |
|
Ví dụ: |
|
setPreinstallAttribution
Mô tả |
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ổ. |
Chữ ký phương thức |
|
Ví dụ: |
|
isPreInstalledApp
Mô tả |
Chỉ báo Boolean do nhà sản xuất cài đặt sẵn. |
Chữ ký phương thức |
|
Ví dụ: |
|
getAttributionId
Mô tả |
Nhận ID phân bổ Facebook, nếu có. |
Chữ ký phương thức |
|
Ví dụ: |
|
handlePushNotifications
Mô tả |
Nhận thông báo đẩy được ghi nhận. |
Chữ ký phương thức |
|
Ví dụ: |
|
validateAndSendInAppPurchase
Mô tả |
API để xác minh máy chủ cho mua hàng trong ứng dụng. Sự kiện af_purchase với các giá trị liên quan sẽ được gửi tự động nếu xác thực thành công. |
Chữ ký phương thức |
|
Ví dụ: |
|
API iOS
setShouldCollectDeviceName
Mô tả |
Đặt cờ 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. |
Chữ ký phương thức |
|
Ví dụ: |
|
setDisableCollectIAd
Mô tả |
Lựa chọn không tham gia phân bổ Apple Search Ads. |
Chữ ký phương thức |
|
Ví dụ: |
|
setUseReceiptValidationSandbox
Mô tả |
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. |
Chữ ký phương thức |
|
Ví dụ: |
|
setUseUninstallSandbox
Mô tả |
Đặ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. |
Chữ ký phương thức |
|
Ví dụ: |
|
validateAndSendInAppPurchase
Mô tả |
Để gửi và xác thực mua hàng trong ứng dụng, hãy gọi phương thức này từ phương thức processPurchase. |
Chữ ký phương thức |
|
Ví dụ: |
|
registerUninstall
Mô tả |
Đăng ký thông báo từ xa và cung cấp cho AppsFlyer token thiết bị đẩy. |
Chữ ký phương thức |
|
Ví dụ: |
|
handleOpenUrl
Mô tả |
Được sử dụng để theo dõi liên kết sâu theo cách thủ công. |
Chữ ký phương thức |
|
Ví dụ: |
|
onOpenStoreLinkGenerated
Mô tả |
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. Tìm hiểu thêm. |
Chữ ký phương thức |
|
Ví dụ: |
|
disableSKAdNetwork
Mô tả |
Cho phép bạn tắt phân bổ SKAdNetwork. Đặt thành "true" để tắt. |
Chữ ký phương thức |
|
Ví dụ: |
|
waitForATTUserAuthorizationWithTimeoutInterval
Mô tả |
Được sử dụng nếu bạn muốn yêu cầu ủy quyền người dùng thông qua cửa sổ bật lên trước khi truy cập dữ liệu liên quan đến ứng dụng để ghi nhận người dùng hoặc thiết bị (ví dụ: IDFA). Nếu người dùng chọn tham gia, IDFA sẽ được chuyển đến SDK. Khoảng thời gian chờ cấp cho người dùng một khoảng thời gian nhất định để chọn tham gia hoạt động thu thập IDFA. Sau khi bộ định thời hết hạn, IDFA không được thu thập. |
Chữ ký phương thức |
|
Ví dụ: |
|