پشتیبانی از پیوندهای عمیق

از نسخه ۱.۲.۰، «پیمایش ۳» از پیوند عمیق به مقصدها در برنامه‌تان بااستفاده از کلاس‌های DeepLinkRequest و DeepLinkMatcher پشتیبانی می‌کند.

برای پشتیبانی از پیوندهای عمیق در برنامه‌تان، مراحل زیر را تکمیل کنید:

  1. در AndroidManifest.xml خود فیلترهای هدف را تعریف کنید تا مشخص کنید برنامه‌تان می‌تواند کدام نشانی‌های وب را مدیریت کند.
  2. DeepLinkMatcher نمونه ایجاد کنید تا درخواست‌های ورودی را به کلیدهای پیمایش خود نگاشت کنید.
  3. درخواست‌های ورودی را در onCreate یا onNewIntent روش فعالیتتان مطابقت دهید و پشته برگشت را براساس آن به‌روز کنید.

ایجاد DeepLinkRequest

DeepLinkRequest نشان‌دهنده پیوند عمیق ورودی است. این عنصر حاوی DeepLinkUri و RequestExtras اختیاری با اطلاعات اضافی، مانند کنش هدف یا نوع MIME است.

ارائه DeepLinkRequest هدیه

برای ذخیره کردن اطلاعات تکمیلی مربوط به پیوند عمیق، از کلاس RequestExtras استفاده کنید. برای اینکه تعریف و نمونه‌سازی کردن موارد اضافی ازنظر نوع ایمن باشد، کتابخانه رابط RequestExtrasKey و requestExtras DSL را ارائه می‌دهد.

علاوه‌براین، کتابخانه دو کلید اضافی و یاری‌رسان‌های مرتبط را ارائه می‌دهد:

  • MimeTypeExtrasKey: برای ذخیره کردن نوع MIME String استفاده می‌شود.
  • ActionExtrasKey (فقط Android): برای ذخیره کردن کنش Intent String استفاده می‌شود.

برای تعریف کردن افزونه‌های سفارشی خودتان، RequestExtrasKey واسط را با نوع عمومی پیاده‌سازی کنید:

همچنین می‌توانید از emptyRequestExtras() برای ساختن نمونه خالی استفاده کنید، یا بااستفاده از عملگرهای + (plus) و - (minus) موارد اضافی را ترکیب کنید.

ایجاد DeepLinkRequest از Intent

در Android، می‌توانید DeepLinkRequest را مستقیماً از Intent ایجاد کنید. وقتی به این روش ساخته می‌شود، DeepLinkRequest به این صورت ساخته می‌شود:

  • ‫uri از فیلد data هدف کپی شده است.
  • اگر null نباشد، نوع MIME و کنش اضافه‌ها از فیلدهای هدف مربوطه تنظیم می‌شوند.
  • همه intent.extras با مقادیر غیرتهی به‌عنوان SavedState در DeepLinkRequest.IntentExtrasKey ذخیره می‌شوند.
  • هرگونه افزودنی اضافی که بااستفاده از پارامتر extras ارائه می‌شود اضافه می‌شود.

DeepLinkMatcher نمونه‌های ورودی DeepLinkRequest را به کلیدهای پیمایش که می‌توانند به پشته برگشت برنامه شما اضافه شوند نگاشت می‌کند. «پیمایش ۳» سه مطابقت‌دهنده داخلی ارائه می‌دهد: UriDeepLinkMatcher برای مطابقت URI مبتنی بر الگو، StaticKeyDeepLinkMatcher برای پیوندهای پایه، و BackStackMatcher برای ساختن پشته‌های برگشت مصنوعی. این کتابخانه همچنین از تطبیق‌دهنده‌های سفارشی برای موارد استفاده‌ای که توسط تطبیق‌دهنده‌های داخلی پوشش داده نمی‌شوند پشتیبانی می‌کند.

برای اطلاعات بیشتر، ایجاد DeepLinkMatchers را ببینید.

افزودن فیلترهای هدف

برای فعال کردن پیوند عمیق برای شروع فعالیتتان، باید عناصر تطبیق <intent-filter> را در AndroidManifest.xml برنامه خود تعریف کنید. برای اطلاعات بیشتر، افزودن فیلترهای هدف برای پیوندهای ورودی را ببینید.

مطابقت دادن درخواست ورودی

پس‌از اینکه نمونه‌های DeepLinkMatcher خود را ایجاد کردید، می‌توانید درخواست‌های ورودی را در فعالیتتان مطابقت دهید.

برای مطابقت دادن درخواست ورودی، مراحل زیر را تکمیل کنید:

  1. نمونه‌های DeepLinkMatcher خود را نمونه‌سازی کنید.
  2. همه نمونه‌های DeepLinkMatcher را، چه به‌صورت صریح و چه بااستفاده از چند اتصال، گردآوری کنید.
  3. ایجاد DeepLinkRequest از Intent ورودی.
  4. درخواست را با همه مطابقت‌دهنده‌ها مطابقت دهید و بهترین مطابقت را پیدا کنید.
  5. پشته برگشت را از نتیجه مطابقت ایجاد کنید.