At a glance: Additional SDK functionalities that are available to implement APIs such as uninstall measurement, user invite attribution, push notifications, and privacy settings.
Bài đọc liên quan
For a complete picture of integrating the Unity plugin with your apps, be sure to read these articles:
- Unity plugin V6 integration guide—Overview
- Hướng dẫn tích hợp trình cắm Unity V6—Tích hợp SDK cơ bản
- Unity plugin V6 integration guide—Additional SDK integration (this article)
- Hướng dẫn tích hợp trình cắm Unity V6—Tham chiếu API
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);
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.
Truyền thông Sở hữu
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.
Scenario: The click domains redirect to your OneLink at 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");
Now, use the data from this OneLink to deep-link and customize user content.
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.
Attribute and record installs originating from user invites within the app. User invite attribution.
Phân bổ quảng cáo chéo
Cross-promoting apps can cand drive additional app installs.
Attribute and record installs originating from a cross-promotion campaign: promote one of your apps from within another of your apps already launched by one of your users. Cross-promotion attribution.
User identifiers
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.
- Map entries when merging data from pull and push API.
Để 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
Set the customer user ID (CUID) and only then initialize the plugin. This is useful if you want your install and event data to contain your CUID.
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>
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);
- App user installs, events, and sessions are anonymized.
Để 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: Used by advertisers to set some (one or more) networks/integrated partners to exclude from getting data.
- setSharingFilterForAllPartners: Used by advertisers to exclude all networks/integrated partners from getting data.
Các phương thức lọc này được hỗ trợ từ SDK V5.4.1.
The filtering method must be called every time the SDK is initialized and affects the whole session. If it takes time to determine whether you must set the sharing filters, then delay the SDK initialization.
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.