مدیریت 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 مراجعه کنید.
Callback deep link
Method signature
public void setOnDeeplinkResponseListener(OnDeeplinkResponseListener listener)
| پارامتر | نوع | توضیح |
|---|---|---|
listener | OnDeeplinkResponseListener | هنگامی که 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 باید آن را راهاندازی کند:
- Java
- Kotlin
AdTraceConfig config = new AdTraceConfig(this, appToken, environment);
config.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
@Override
public boolean launchReceivedDeeplink(Uri deeplink) {
return shouldAdTraceSdkLaunchTheDeeplink(deeplink);
}
});
AdTrace.onCreate(config);
val config = AdTraceConfig(this, appToken, environment)
config.setOnDeeplinkResponseListener(OnDeeplinkResponseListener { deeplink ->
shouldAdTraceSdkLaunchTheDeeplink(deeplink)
})
AdTrace.onCreate(config)
shouldAdTraceSdkLaunchTheDeeplink(deeplink) را با منطق خودتان جایگزین کنید (مثلاً path یا query را بررسی کنید و تصمیم بگیرید که آیا SDK باید URL را باز کند).
مثال: هرگز به صورت خودکار باز نکنید
false بازگردانید تا از راهاندازی deep link توسط SDK جلوگیری کنید:
- Java
- Kotlin
config.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
@Override
public boolean launchReceivedDeeplink(Uri deeplink) {
return false;
}
});
config.setOnDeeplinkResponseListener(OnDeeplinkResponseListener { false })