پرش به مطلب اصلی

مدیریت deep link های deferred

Deep linking deferred زمانی اعمال می‌شود که کاربر اپ شما را نصب نکرده باشد. آن‌ها یک URL tracker Adtrace با deep_link را باز می‌کنند، اپ را از store نصب می‌کنند، سپس آن را باز می‌کنند. Android آن deep link را به صورت native تحویل نمی‌دهد. Adtrace SDK محتوای deep link را پس از نصب فراهم می‌کند.

به طور پیش‌فرض، Adtrace SDK deep link های deferred را به صورت خودکار باز می‌کند. یک Callback deep link را در نمونه AdTraceConfig تنظیم کنید اگر می‌خواهید کنترل کنید که آیا SDK لینک را باز کند.

توجه

این صفحه Callback deep link deferred را در AdTraceConfig پوشش می‌دهد. برای تنظیم scheme، manifest، و URL tracker، به تنظیم deep linking استاندارد و مرور کلی deep linking مراجعه کنید.

Method signature

public void setOnDeeplinkResponseListener(OnDeeplinkResponseListener listener)
پارامترنوعتوضیح
listenerOnDeeplinkResponseListenerهنگامی که SDK یک deep link deferred دریافت می‌کند فراخوانی می‌شود. برای اجازه دادن به SDK برای باز کردن آن true برگردانید، یا برای مدیریت خودتان false برگردانید.

این Callback را قبل از AdTrace.onCreate() تنظیم کنید تا تصمیم بگیرید هنگامی که SDK یک deep link deferred دریافت می‌کند چه اتفاقی می‌افتد.

مقدار بازگشتیرفتار
trueبه SDK Adtrace اجازه دهید deep link را باز کند.
falseآن را باز نکنید. در صورت نیاز URL را خودتان مدیریت کنید.

اگر این Callback را تنظیم نکنید، SDK به طور پیش‌فرض deep link را باز می‌کند.

مثال

Deep link را در Callback ارزیابی کنید، سپس بازگردانید که آیا SDK باید آن را راه‌اندازی کند:

AdTraceConfig config = new AdTraceConfig(this, appToken, environment);
config.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
@Override
public boolean launchReceivedDeeplink(Uri deeplink) {
return shouldAdTraceSdkLaunchTheDeeplink(deeplink);
}
});
AdTrace.onCreate(config);

shouldAdTraceSdkLaunchTheDeeplink(deeplink) را با منطق خودتان جایگزین کنید (مثلاً path یا query را بررسی کنید و تصمیم بگیرید که آیا SDK باید URL را باز کند).

مثال: هرگز به صورت خودکار باز نکنید

false بازگردانید تا از راه‌اندازی deep link توسط SDK جلوگیری کنید:

config.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
@Override
public boolean launchReceivedDeeplink(Uri deeplink) {
return false;
}
});