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

Deeplink

اگر از URL ردیاب Adtrace با قابلیت deep link به اپلیکیشن استفاده می‌کنید، می‌توانید اطلاعات مربوط به URL deep link و محتوای آن را دریافت کنید. کلیک روی URL می‌تواند زمانی رخ دهد که کاربر اپلیکیشن شما را از قبل نصب کرده باشد (سناریوی deep linking معمولی) یا اپلیکیشن را روی دستگاه خود نداشته باشد (سناریوی deferred deep linking). در سناریوی deep linking معمولی، پلتفرم Android به‌طور بومی امکان دریافت اطلاعات محتوای deep link را می‌دهد. سناریوی deferred deep linking چیزی است که Android به‌طور پیش‌فرض پشتیبانی نمی‌کند و در این حالت، Adtrace SDK مکانیزم لازم را برای دریافت اطلاعات محتوای deep link فراهم می‌کند.

برای مدیریت deep linking باید تنظیمات مربوطه را در سطح native در پروژه Xcode (برای iOS) و Android Studio (برای Android) انجام دهید.

سناریوی معمولی

متأسفانه در این سناریو، اطلاعات مربوط به deep link نمی‌تواند در کد Dart به شما تحویل داده شود. پس از فعال‌سازی deep linking در اپلیکیشن، اطلاعات را در سطح native دریافت خواهید کرد. برای اطلاعات بیشتر، فصل‌های زیر را درباره نحوه فعال‌سازی deep linking برای Android و iOS ببینید.

سناریوی Deferred

برای دریافت اطلاعات محتوای URL در سناریوی deferred deep linking، باید یک متد Callback روی شیء config تنظیم کنید که یک پارامتر string دریافت می‌کند و محتوای URL در آن تحویل داده می‌شود. باید این متد را با تنظیم عضو deferredDeeplinkCallback روی شیء config تنظیم کنید:

AdTraceConfig adtraceConfig = new AdTraceConfig(yourAppToken, environment);
adtraceConfig.deferredDeeplinkCallback = (String? uri) {
print('[AdTrace]: Received deferred deeplink: ' + uri!);
};
AdTrace.start(adtraceConfig);

در سناریوی deferred deep linking، یک تنظیم اضافی وجود دارد که می‌توان روی شیء config انجام داد. هنگامی که Adtrace SDK اطلاعات deferred deep link را دریافت کرد، می‌توانید انتخاب کنید که SDK این URL را باز کند یا نه. می‌توانید این گزینه را با تنظیم عضو launchDeferredDeeplink روی instance config انجام دهید:

AdTraceConfig adtraceConfig = new AdTraceConfig(yourAppToken, environment);
adtraceConfig.launchDeferredDeeplink = true;
adtraceConfig.deferredDeeplinkCallback = (String uri) {
print('[AdTrace]: Received deferred deeplink: ' + uri);
};
AdTrace.start(adtraceConfig);

اگر چیزی تنظیم نشود، Adtrace SDK همیشه سعی می‌کند URL را به‌طور پیش‌فرض باز کند.

برای فعال‌سازی پشتیبانی از deep linking در اپلیکیشن‌هایتان، باید scheme ها را برای هر پلتفرم پشتیبانی‌شده تنظیم کنید.

مدیریت deep linking در اپلیکیشن Android

این کار باید در پروژه native Android Studio / Eclipse انجام شود.

برای تنظیم اپلیکیشن Android جهت مدیریت deep linking در سطح native، لطفاً راهنمای موجود در README رسمی Android SDK را دنبال کنید.

مدیریت deep linking در اپلیکیشن iOS

این کار باید در پروژه native Xcode انجام شود.

برای تنظیم اپلیکیشن iOS (پروژه Runner) جهت مدیریت deep linking در سطح native، لطفاً راهنمای موجود در README رسمی iOS SDK را دنبال کنید.