درباره پیوندهای برنامه

پیوندهای برنامه اندروید یک قابلیت ویژه پیوند عمیق در اندروید ۶ و بالاتر است که به URL های وب سایت تأیید شده شما اجازه می‌دهد تا بلافاصله محتوای مربوطه را در برنامه اندروید شما باز کنند، بدون اینکه کاربر نیاز به انتخاب برنامه شما از یک کادر ابهام‌زدایی داشته باشد. برای امکان‌پذیر کردن این امر، اندروید از دستورات پیوندهای دارایی دیجیتال میزبانی شده در وب‌سایت شما برای ایجاد یک ارتباط امن و تأیید شده بین وب‌سایت و برنامه شما استفاده می‌کند. پس از تأیید ارتباط، اندروید می‌تواند به طور خودکار پیوندهای عمیق شما به وب‌سایت شما را مستقیماً به برنامه شما برای مدیریت هدایت کند.

با معرفی Dynamic App Links در اندروید ۱۵، App Links حتی قدرتمندتر هم شده است. با قابلیت‌های پویای جدید، می‌توانید رفتارهای Deep Link برنامه خود را در لحظه، با کنترل بیشتر و بدون نیاز به انتشار نسخه جدید برنامه، اصلاح کنید.

چرا باید از App Links استفاده کنید:

  • تجربه کاربری یکپارچه - کاربران را مستقیماً از نتایج جستجو، وب‌سایت‌ها، پیام‌رسان‌ها و سایر برنامه‌ها به محتوای خاصی در برنامه خود هدایت کنید. از آنجایی که پیوندهای برنامه از یک URL واحد برای محتوای یکسان در وب‌سایت و برنامه شما استفاده می‌کنند، کاربرانی که برنامه را نصب نکرده‌اند به جای آن به وب‌سایت شما می‌روند - بدون خطای 404، بدون خطا.
  • امنیت پیشرفته - پیوندهای برنامه نیاز به تأیید مالکیت دامنه دارند و از رهگیری پیوندهای شما توسط سایر برنامه‌ها جلوگیری می‌کنند.
  • پیکربندی پویا (اندروید ۱۵+) - رفتار لینک‌دهی عمیق برنامه خود را در لحظه به‌روزرسانی کنید، که امکان انعطاف‌پذیری بیشتر و به‌روزرسانی‌های سریع‌تر را برای مواردی مانند URLهای بیهوده، کمپین‌های فصلی یا لینک‌های خاص کاربر فراهم می‌کند.
  • تعامل - شما می‌توانید از طریق لینک‌های موجود در نتایج جستجو، تبلیغات، صفحات وب، پیام‌رسانی و موارد دیگر، کاربران را درگیر کنید.

نحوه پشتیبانی از پیوندهای برنامه

  1. ایجاد لینک‌های عمیق به محتوای خاص در برنامه : در مانیفست برنامه، فیلترهای intent را برای URIهای وب‌سایت خود ایجاد کنید و برنامه خود را طوری پیکربندی کنید که از داده‌های intentها برای ارسال کاربران به محتوای مناسب در برنامه استفاده کند.
  2. افزودن تأیید برای لینک‌های عمیق : برنامه خود را طوری پیکربندی کنید که درخواست تأیید لینک‌های برنامه را بدهد. سپس، یک فایل JSON از پیوندهای دارایی دیجیتال را در وب‌سایت‌های خود منتشر کنید تا مالکیت را تأیید کنید.

به عنوان یک روش جایگزین، می‌توانید از دستیار پیوندهای برنامه اندروید در اندروید استودیو برای راهنمایی در هر یک از مراحل مورد نیاز برای ایجاد و تأیید پیوندهای برنامه اندروید استفاده کنید. برای اطلاعات بیشتر، به ابزارهای توسعه‌دهنده پیوندهای برنامه مراجعه کنید.

  • پیوندهای پویای برنامه - اندروید ۱۵ (سطح API ۳۵) یا بالاتر، در دستگاه‌هایی که سرویس‌های گوگل نصب شده‌اند.
  • پیوندهای برنامه - اندروید ۶ (سطح API ۲۳) و بالاتر، در دستگاه‌هایی که سرویس‌های گوگل روی آنها نصب شده است.
  • لینک‌دهی عمیق معمولی (مدیریت‌شده توسط کاربر) - همه نسخه‌های اندروید، روی همه دستگاه‌ها.

نحوه کار App Links

پیوندهای برنامه (App Links) یک روش خاص برای پیوند عمیق (deep linking) است که به شما کنترل کامل بر مدیریت پیوندها به وب‌سایت خودتان را می‌دهد. این روش بر اساس همان سیستم مبتنی بر هدف (intent-based) که توسط سایر انواع پیوند عمیق استفاده می‌شود، ساخته شده است، اما یک مرحله تأیید برای پیوندهای شما با استفاده از یک فایل پیوندهای دارایی دیجیتال (Digital Asset Links) در وب‌سایت شما اضافه می‌کند.

App Links با استفاده از داده‌های برنامه و یک فایل assetlinks.json ویژه که در وب‌سایت یا دامنه خود میزبانی می‌کنید، یک ارتباط امن و قابل اعتماد بین برنامه و وب‌سایت شما ایجاد می‌کند. فایل assetlinks.json عبارات Digital Asset Link را برای تأیید ارتباط برنامه اعلام می‌کند.

جریان مفهومی به این صورت است:

  1. فایل مانیفست برنامه شما ، URLها را در یک فیلتر intent با android:autoVerify="true " اعلان می‌کند و به میزبان وب‌سایت شما اشاره می‌کند.
  2. وقتی برنامه نصب می‌شود ، سیستم اندروید فایل assetlinks.json را از یک مکان شناخته شده در وب سرور شما دریافت می‌کند.
  3. سیستم تأیید می‌کند که فایل assetlinks.json معتبر است و sha256_cert_fingerprints با گواهی امضای برنامه شما مطابقت دارد.
  4. وقتی کاربر روی لینک منطبق کلیک می‌کند ، سیستم او را مستقیماً به برنامه شما هدایت می‌کند، بدون اینکه کادر ابهام‌زدایی نمایش داده شود.

از آنجا که App Links از URL های HTTP و ارتباط با یک وب سایت استفاده می کند، کاربرانی که برنامه شما را نصب نکرده اند مستقیماً به محتوای سایت شما دسترسی پیدا می کنند. به این ترتیب، App Links یک تجربه قابل اعتماد و یکپارچه را برای کاربرانی که از لینک های عمیق به وب سایت های شما استفاده می کنند، ارائه می دهد.

با معرفی Dynamic App Links در اندروید ۱۵، App Links حتی قدرتمندتر هم شده است. با Dynamic App Links، شما می‌توانید قوانین deep linking خود را در سمت سرور، در فایل assetlinks.json ، بدون نیاز به انتشار نسخه جدید برنامه خود، به‌روزرسانی کنید. Dynamic App Links از فیلدهای Digital Asset Links برای اصلاح قوانین deep linking شما پشتیبانی می‌کند. دستگاه‌های اندروید با سرویس‌های گوگل نصب شده، فایل شما را به صورت دوره‌ای به‌روزرسانی می‌کنند و قوانین deep linking جدید شما را به صورت پویا اعمال می‌کنند. نیازی به به‌روزرسانی برنامه نیست.

پیش از این، این فایل عمدتاً برای تأیید اولیه استفاده می‌شد. اکنون، این یک ابزار پیکربندی قدرتمند است که به شما امکان می‌دهد مسیرها، پارامترهای پرس و جو، قطعات و موارد استثنا را مشخص کنید و یک راه‌حل پیوند عمیق پویا و قوی ارائه دهید:

  • پشتیبانی از استثنائات : می‌توانید مسیرها یا بخش‌های خاصی از یک URL را مشخص کنید که نباید برنامه شما را باز کنند، حتی اگر در غیر این صورت با پیکربندی App Link شما مطابقت داشته باشند.
  • پشتیبانی از پارامترهای پرس‌وجو : با قابلیت جدید پارامترهای پرس‌وجو، می‌توانید پارامترهای خاصی را تعریف کنید که در صورت وجود در URL، از باز شدن برنامه شما جلوگیری می‌کنند. این امر امکانات هیجان‌انگیزی را برای استثنائات پویا، تست A/B و فعال‌سازی تدریجی لینک برنامه برای بخش‌های خاصی از کاربران فراهم می‌کند.
  • به‌روزرسانی‌های پویا : با مشخص کردن مسیرهای URL که برنامه شما مستقیماً در فایل assetlinks.json که روی سرور شما میزبانی می‌شود، پیکربندی پیوندهای برنامه خود را بدون نیاز به به‌روزرسانی برنامه، به‌روزرسانی کنید.

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

روند مفهومی برای Dynamic App Links به صورت زیر است:

  1. فایل مانیفست برنامه شما ، URLها را در یک فیلتر intent با android:autoVerify="true " اعلان می‌کند و به میزبان وب‌سایت شما اشاره می‌کند.
  2. وقتی برنامه نصب می‌شود ، سیستم اندروید فایل assetlinks.json را از یک مکان شناخته شده در وب سرور شما دریافت می‌کند.
  3. سیستم تأیید می‌کند که فایل معتبر است و sha256_cert_fingerprints با گواهی امضای برنامه شما مطابقت دارد.
  4. سیستم هر قانون پیوند عمیقی را که شما در فیلد dynamic_app_deep_link_components در عبارت Digital Asset Links تعریف کرده‌اید، تجزیه می‌کند و آنها را با قوانین اعلام شده در مانیفست ادغام می‌کند.
    1. وقتی کاربر روی لینک منطبق کلیک می‌کند ، سیستم او را مستقیماً به برنامه شما هدایت می‌کند، بدون اینکه کادر محاوره‌ای ابهام‌زدایی نمایش داده شود.
  5. سیستم به صورت دوره‌ای فایل assetlinks.json را برای دریافت آخرین قوانین، مجدداً واکشی می‌کند و به شما امکان می‌دهد لینک‌های خود را بدون به‌روزرسانی برنامه به‌روزرسانی کنید. واکشی مجدد دوره‌ای در دستگاه‌هایی که اندروید ۱۵ (سطح API ۳۵) یا بالاتر دارند و سرویس‌های گوگل روی آنها نصب شده است، پشتیبانی می‌شود.

مثال‌هایی از موارد استفاده

  • کمپین‌های بازاریابی فصلی: یک اپلیکیشن خرده‌فروشی می‌تواند قانونی برای "/promo/summer-sale" به فایل assetlinks.json اضافه کند تا کاربران را به صفحه فروش خاصی هدایت کند. پس از پایان فروش، می‌توان این قانون را بدون نیاز به به‌روزرسانی اپلیکیشن توسط کاربران حذف کرد.
  • URL های بیهوده برای شرکا: اگر با یک اینفلوئنسر همکاری دارید، می‌توانید یک URL سفارشی مانند "/partner/influencer-name" ایجاد کنید و یک قانون برای آن اضافه کنید. سپس می‌توانید این URL را به صورت پویا با تغییر همکاری‌ها پیگیری، به‌روزرسانی یا حذف کنید.
  • تست A/B مسیرهای URL: یک توسعه‌دهنده می‌تواند یک ویژگی جدید را تحت یک مسیر URL خاص منتشر کند و یک قانون برای آن در فایل assetlinks.json اضافه کند. این به آنها اجازه می‌دهد تا ویژگی را با زیرمجموعه‌ای از کاربران آزمایش کنند و سپس مسیریابی را بدون استقرار کامل برنامه تغییر دهند.
  • رویدادهای کوتاه‌مدت: یک اپلیکیشن فروش بلیط یا رویداد می‌تواند قوانین URL را برای رویدادهای خاص اضافه کند. پس از پایان رویداد، می‌توانید این قوانین را از سرور حذف کنید.

سازگاری با پیاده‌سازی‌های App Links

افزونه‌های پیوندهای پویای برنامه در اندروید ۱۵ برای سازگاری کامل با پیاده‌سازی‌های موجود پیوندهای برنامه در دستگاه‌هایی که نسخه‌های قبلی اندروید را اجرا می‌کنند، طراحی شده‌اند. نسخه‌های پایین‌تر برنامه قادر به استفاده از پیکربندی پویا یا ویژگی‌های پیکربندی نیستند، آنها به هر قانونی که در مانیفست اعلام شده است، باز می‌گردند. پیوند برنامه شما همچنان می‌تواند برنامه شما را به درستی باز کند یا برای کاربران نسخه‌های قبلی اندروید به زیبایی به وب بازگردد. در بیشتر موارد، می‌توانید با خیال راحت قوانین پویا را بدون تأثیر بر تجربه برای بقیه پایگاه کاربری خود، مستقر کنید.

ملاحظات مربوط به تنظیم قوانین فیلتر پیوندهای پویای برنامه

اگر فیلترهای Intent را برای استفاده با Dynamic App Links در اندروید ۱۵ و بالاتر تنظیم می‌کنید، به خاطر داشته باشید که قوانین مسیریابی سطح مسیر که در فایل assetlinks.json سمت سرور شما تعریف شده‌اند، نمی‌توانند محدوده‌ای را که به صورت ایستا در قوانین فیلتر Intent فایل مانیفست خود تنظیم کرده‌اید، گسترش دهند .

به همین دلیل، توصیه می‌کنیم وسیع‌ترین محدوده ممکن را در فیلترهای هدف مانیفست خود تنظیم کنید و سپس برای اصلاح بیشتر به قوانین سمت سرور assetlinks.json تکیه کنید. با این پیکربندی ایده‌آل، می‌توانید پیوندهای برنامه جدیدی را به صورت پویا اضافه کنید که در محدوده وسیع تعیین شده در مانیفست قرار می‌گیرند.

پیاده‌سازی App Links خود را برنامه‌ریزی کنید

پشتیبانی از App Links نیازمند پیاده‌سازی در برنامه شما و همچنین کار سمت سرور برای تنظیم فایل assetlinks.json شما است. وظایف کلی آماده‌سازی و پیاده‌سازی در اینجا فهرست شده‌اند و برای جزئیات بیشتر به منابع دیگر لینک داده شده است.

  • برنامه‌ریزی لینک‌های عمیق - با ارزیابی لینک‌های عمیق مورد نیاز، الگوهای URL مورد استفاده آنها، نحوه و زمان به‌روزرسانی آنها و فعالیت یا عملی که می‌خواهید هر URL در برنامه شما به آن منجر شود، شروع کنید.
  • پشتیبانی از پیوندهای پویای برنامه - به کاربران دستگاه‌های اندروید جدید بهترین تجربه ممکن را ارائه دهید. از پیوندهای پویای برنامه برای کاربران اندروید ۱۵ یا بالاتر استفاده کنید.
  • قوانین فیلتر پویای خود را برنامه‌ریزی کنید - اگر از پیوندهای پویای برنامه استفاده می‌کنید، نحوه عملکرد قوانین سمت سرور خود را با قوانین تعریف‌شده استاتیک در مانیفست برنامه خود برنامه‌ریزی کنید. به خاطر داشته باشید که قوانین فیلتر در فایل assetlinks.json شما نمی‌توانند دامنه فیلترهای مانیفست برنامه شما را گسترش دهند. شما باید طوری برنامه‌ریزی کنید که فیلترهای مانیفست شما وسیع‌ترین دامنه ممکن را اعلام کنند و سپس قوانین سمت سرور شما بتوانند آن قوانین را در صورت نیاز اصلاح کنند. برای اطلاعات بیشتر، به پیکربندی قوانین پویا مراجعه کنید.
  • فیلترهای هدف را برای لینک‌های خود ایجاد و آزمایش کنید - لینک‌های عمیق خود را در فیلترهای هدف تعریف کنید و تطبیق الگوی URL و مدیریت هدف ورودی را آزمایش کنید. برای پشتیبانی از لینک‌های برنامه پویا، توجه داشته باشید که ممکن است لازم باشد برخی از مسیرهای دقیق را به فایل JSON سمت سرور خود منتقل کنید.
  • خواندن داده‌ها از Intentهای لینک برنامه ورودی - Intentهای لینک عمیق ورودی را به درستی مدیریت کنید و آنها را به Activity مناسب منتقل کنید. پیاده‌سازی App Links مشابه لینک‌های عمیق معمولی است که در بخش Read data from incoming intents توضیح داده شده است.
  • پیکربندی وابستگی‌های وب‌سایت و قوانین پویا - برای پشتیبانی از App Links، باید یک فایل سمت سرور که در وب‌سایت یا دامنه شما میزبانی می‌شود را پیکربندی کنید. دستگاه‌های اندروید این فایل را برای اعتبارسنجی پیاده‌سازی App Links با برنامه شما بازیابی می‌کنند. اطلاعات بیشتر اینجا.
  • تأیید پیوندهای برنامه را آزمایش کنید - بررسی کنید که سیستم اندروید قادر است پیوندهای عمیق شما را با موفقیت به طور خودکار تأیید کند. از اشکال‌زدایی و آزمایش سرتاسری برای بررسی اینکه پیکربندی شما ایمن است و در تمام مسیرهای تأیید شده پیوند برنامه به درستی کار می‌کند، استفاده کنید.
  • درباره ابزارهایی که می‌توانید برای تنظیم App Links استفاده کنید، از جمله Android Studio و Play Console، اطلاعات بیشتری کسب کنید. اطلاعات بیشتر اینجا.