Liên kết Sâu Hợp nhất (UDL)
Bảo vệ quyền riêng tư UDL
For new users, the UDL method only returns parameters relevant to deferred deep linking:
deep_link_value
anddeep_link_sub1
todeep_link_sub10
. If you try to get any other parameters (media_source
,campaign
,af_sub1-5
, etc.), they returnnull
.
Luồng UDL
- SDK được kích hoạt bởi:
- Liên kết Sâu bị Trì hoãn - sử dụng API dành riêng
- Liên kết Sâu Trực tiếp - được hệ điều hành kích hoạt thông qua Liên kết Ứng dụng Android, Liên kết Chung iOS hoặc lược đồ URI.
- The SDK triggers the
OnDeepLink
và chuyển đối tượng kết quả liên kết sâu cho người dùng. - The
OnDeepLink
sử dụng đối tượng kết quả liên kết sâu chứadeep_link_value
và các thông số khác để tạo trải nghiệm được cá nhân hóa cho người dùng, đó là mục tiêu chính của OneLink.
Xem tài liệu về Liên kết Sâu Hợp nhất dành cho Android và iOS.
Những điều cần lưu ý
- Yêu cầu SDK Android AppsFlyer V6.1.3 trở lên.
- Không hỗ trợ các chiến dịch SRN.
- For new users, the UDL method only returns parameters relevant to deferred deep linking:
deep_link_value
anddeep_link_sub1-10
. Nếu bạn cố gắng lấy bất kỳ thông số nào khác (media_source, campaign, af_sub1-5, v.v.), chúng sẽ trả vềnull
. onAppOpenAttribution
sẽ không được gọi ra. Tất cả các mã cần được di chuyển sangOnDeepLink
.OnDeepLink
phải được gọi ra sauinitSDK
.AppsFlyer.cs
phải được gắn vào đối tượng trò chơi.
Thực hiện
- Gắn tập lệnh
AppsFlyer.cs
vào đối tượng trò chơi bằng mã khởi tạo AppsFlyer. (AppsFlyerObject) - Call initSDK with the
this
parameter in order for theOnDeepLinkReceived
callback to be invoked:AppsFlyer.initSDK("devkey", "appID", this);
- Chỉ định
OnDeepLink
toAppsFlyer.OnDeepLinkReceived
trong tải trọng củaStart()
AppsFlyer.OnDeepLinkReceived += OnDeepLink;
- Sau khi
initSDK()
triển khaiOnDeepLink
.
Ví dụ:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour
{
void Start()
{
AppsFlyer.initSDK("devkey", "appID", this);
AppsFlyer.OnDeepLinkReceived += OnDeepLink;
AppsFlyer.startSDK();
}
void OnDeepLink(object sender, EventArgs args)
{
var deepLinkEventArgs = args as DeepLinkEventsArgs;
switch (deepLinkEventArgs.status)
{
case DeepLinkStatus.FOUND:
if (deepLinkEventArgs.isDeferred())
{
AppsFlyer.AFLog("OnDeepLink", "This is a deferred deep link");
}
else
{
AppsFlyer.AFLog("OnDeepLink", "This is a direct deep link");
}
// deepLinkParamsDictionary contains all the deep link parameters as keys
Dictionary<string, object> deepLinkParamsDictionary = null;
#if UNITY_IOS && !UNITY_EDITOR
if (deepLinkEventArgs.deepLink.ContainsKey("click_event") && deepLinkEventArgs.deepLink["click_event"] != null)
{
deepLinkParamsDictionary = deepLinkEventArgs.deepLink["click_event"] as Dictionary<string, object>;
}
#elif UNITY_ANDROID && !UNITY_EDITOR
deepLinkParamsDictionary = deepLinkEventArgs.deepLink;
#endif
break;
case DeepLinkStatus.NOT_FOUND:
AppsFlyer.AFLog("OnDeepLink", "Deep link not found");
break;
default:
AppsFlyer.AFLog("OnDeepLink", "Deep link error");
break;
}
}
}
Đã cập nhật 4 tháng trước