پیوندهای برنامه اندروید را اضافه کنید

پیوندهای برنامه اندروید، URLهای HTTP هستند که کاربران را مستقیماً به محتوای خاصی در برنامه اندروید شما هدایت می‌کنند. پیوندهای برنامه اندروید می‌توانند ترافیک بیشتری را به برنامه شما هدایت کنند، به شما کمک کنند تا بفهمید کدام محتوای برنامه بیشتر استفاده می‌شود و پیدا کردن و اشتراک‌گذاری محتوا در یک برنامه نصب شده را برای کاربران آسان‌تر کنند.

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

  1. فیلترهای intent را در مانیفست خود ایجاد کنید.
  2. برای مدیریت لینک‌های ورودی، کدی را به activityهای برنامه خود اضافه کنید.
  3. اپلیکیشن و وب‌سایت خود را با لینک‌های دارایی دیجیتال مرتبط کنید.

دستیار پیوندهای برنامه در اندروید استودیو، این فرآیند را با یک راهنمای گام به گام، همانطور که در زیر توضیح داده شده است، ساده می‌کند.

برای اطلاعات بیشتر در مورد نحوه کار لینک‌های برنامه و مزایای آنها، بخش «مدیریت لینک‌های برنامه اندروید» را مطالعه کنید.

فیلترهای هدف را اضافه کنید

دستیار پیوندهای برنامه (App Links Assistant) در اندروید استودیو می‌تواند به شما در ایجاد فیلترهای اینتنت در مانیفست و نگاشت URLهای موجود از وب‌سایت شما به اکتیویتی‌های برنامه‌تان کمک کند. دستیار پیوندهای برنامه همچنین کد قالب را در هر اکتیویتی مربوطه برای مدیریت اینتنت اضافه می‌کند.

برای افزودن فیلترهای هدف و مدیریت URL، این مراحل را دنبال کنید:

  1. ابزارها > دستیار پیوندهای برنامه را انتخاب کنید.
  2. روی Open URL Mapping Editor کلیک کنید و سپس روی Add کلیک کنید. در پایین لیست نگاشت URL، برای افزودن یک نگاشت URL جدید کلیک کنید.
  3. جزئیات مربوط به نگاشت URL جدید را اضافه کنید:

    دستیار پیوندهای برنامه شما را در نقشه‌برداری اولیه URL راهنمایی می‌کند.

    شکل ۱. جزئیات اولیه در مورد ساختار لینک سایت خود را برای نگاشت URLها به فعالیت‌های برنامه خود اضافه کنید.

    1. آدرس وب‌سایت خود را در فیلد میزبان وارد کنید.
    2. برای URLهایی که می‌خواهید نگاشت کنید، یک path ، pathPrefix یا pathPattern اضافه کنید.

      برای مثال، اگر یک برنامه اشتراک‌گذاری دستور غذا دارید که تمام دستورهای موجود در همان activity در آن قرار دارند و دستورهای وب‌سایت مربوطه شما همگی در همان دایرکتوری /recipe هستند، از pathPrefix استفاده کنید و /recipe را وارد کنید. به این ترتیب، URL http://www.recipe-app.com/recipe/grilled-potato-salad به activity که در مرحله بعد انتخاب می‌کنید، نگاشت می‌شود.

    3. فعالیتی را که URLها باید کاربران را به آن هدایت کنند، انتخاب کنید.
    4. روی تأیید کلیک کنید.

    پنجره ویرایشگر نگاشت URL ظاهر می‌شود. دستیار پیوندهای برنامه، فیلترهای هدف را بر اساس نگاشت URL شما به فایل AndroidManifest.xml اضافه می‌کند و تغییرات را در فیلد Preview برجسته می‌کند. اگر می‌خواهید تغییری ایجاد کنید، برای ویرایش فیلتر هدف، روی Open AndroidManifest.xml کلیک کنید. برای کسب اطلاعات بیشتر، به فیلترهای هدف برای لینک‌های ورودی مراجعه کنید.

    پنجره اصلی ابزار App Links Assistant همچنین تمام لینک‌های عمیق موجود در فایل AndroidManifest.xml را نمایش می‌دهد و به شما امکان می‌دهد با کلیک روی Fix All Manifest Issues ، هرگونه پیکربندی نادرست را به سرعت برطرف کنید.

    دستیار پیوندهای برنامه به شما امکان می‌دهد پیکربندی‌های نادرست آشکار را برطرف کنید.

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

  4. برای تأیید اینکه نگاشت URL شما به درستی کار می‌کند، یک URL را در فیلد «بررسی نگاشت URL» وارد کنید.

    اگر به درستی کار کند، پیام موفقیت‌آمیز بودن نشان می‌دهد که URL وارد شده به فعالیتی که انتخاب کرده‌اید، نگاشت می‌شود.

مدیریت لینک‌های ورودی

پس از اینکه تأیید کردید که نگاشت URL شما به درستی کار می‌کند، منطقی را برای مدیریت intent که ایجاد کرده‌اید اضافه کنید:

  1. روی «انتخاب فعالیت» از «دستیار پیوندهای برنامه» کلیک کنید.
  2. یک فعالیت را از لیست انتخاب کنید و روی درج کد کلیک کنید.

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

کاتلین

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    // ATTENTION: This was auto-generated to handle app links.
    val appLinkIntent: Intent = intent
    val appLinkAction: String? = appLinkIntent.action
    val appLinkData: Uri? = appLinkIntent.data
    ...
}

جاوا

@Override
void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
    ...
}

این کد به خودی خود کامل نیست. اکنون باید بر اساس URI موجود در appLinkData اقدامی انجام دهید، مانند نمایش محتوای مربوطه. برای مثال، برای برنامه اشتراک‌گذاری دستور پخت، کد شما ممکن است مانند نمونه زیر باشد:

کاتلین

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    handleIntent(intent)
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    handleIntent(intent)
}

private fun handleIntent(intent: Intent) {
    val appLinkAction = intent.action
    val appLinkData: Uri? = intent.data
    if (Intent.ACTION_VIEW == appLinkAction) {
        appLinkData?.lastPathSegment?.also { recipeId ->
            Uri.parse("content://com.recipe_app/recipe/")
                    .buildUpon()
                    .appendPath(recipeId)
                    .build().also { appData ->
                        showRecipe(appData)
                    }
        }
    }
}

جاوا

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

اپلیکیشن خود را با وب‌سایتتان مرتبط کنید

پس از تنظیم پشتیبانی URL برای برنامه‌تان، دستیار پیوندهای برنامه یک فایل پیوندهای دارایی‌های دیجیتال ایجاد می‌کند که می‌توانید از آن برای مرتبط کردن وب‌سایت خود با برنامه‌تان استفاده کنید.

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

اگر از امضای برنامه Play برای برنامه خود استفاده می‌کنید، معمولاً اثر انگشت گواهی تولید شده توسط دستیار پیوندهای برنامه با اثر انگشت موجود در دستگاه‌های کاربران مطابقت ندارد. در این حالت، می‌توانید قطعه کد JSON پیوندهای دارایی دیجیتال صحیح را برای برنامه خود در حساب توسعه‌دهنده Play Console خود در قسمت Release > Setup > App signing پیدا کنید.

برای مرتبط کردن برنامه و وب‌سایت خود با استفاده از App Links Assistant، روی گزینه Open Digital Asset Links File Generator از App Links Assistant کلیک کنید و این مراحل را دنبال کنید:

دستیار پیوندهای برنامه شما را در نقشه‌برداری اولیه URL راهنمایی می‌کند.

شکل ۲. جزئیات مربوط به سایت و برنامه خود را برای ایجاد فایل پیوندهای دارایی دیجیتال وارد کنید.

  1. دامنه سایت و شناسه برنامه خود را وارد کنید.
  2. برای افزودن پشتیبانی در فایل پیوندهای دارایی دیجیتال خود برای ورود با یک ضربه ، گزینه «پشتیبانی از اشتراک‌گذاری اعتبارنامه‌ها بین برنامه و وب‌سایت» را انتخاب کنید و آدرس اینترنتی ورود به سایت خود را وارد کنید. این کار رشته زیر را به فایل پیوندهای دارایی دیجیتال شما اضافه می‌کند که اعلام می‌کند برنامه و وب‌سایت شما اعتبارنامه‌های ورود به سیستم را به اشتراک می‌گذارند: delegate_permission/common.get_login_creds .

  3. پیکربندی امضا را مشخص کنید یا یک فایل keystore انتخاب کنید.

    مطمئن شوید که فایل release config یا keystore مناسب را برای نسخه آزمایشی یا فایل debug config یا keystore مناسب را برای نسخه آزمایشی برنامه خود انتخاب کرده‌اید. اگر می‌خواهید نسخه آزمایشی خود را راه‌اندازی کنید، از release config استفاده کنید. اگر می‌خواهید نسخه آزمایشی خود را آزمایش کنید، از debug config استفاده کنید.

  4. روی ایجاد فایل پیوندهای دارایی دیجیتال کلیک کنید.
  5. وقتی اندروید استودیو فایل را تولید کرد، برای دانلود آن روی ذخیره فایل کلیک کنید.
  6. فایل assetlinks.json را در سایت خود، با دسترسی خواندن برای همه، در https:// yoursite /.well-known/assetlinks.json آپلود کنید.

    مهم: سیستم فایل پیوندهای دارایی دیجیتال را از طریق پروتکل رمزگذاری شده HTTPS تأیید می‌کند. مطمئن شوید که فایل assetlinks.json از طریق اتصال HTTPS قابل دسترسی است، صرف نظر از اینکه فیلتر intent برنامه شما شامل https باشد یا خیر.

  7. برای تأیید اینکه فایل پیوندهای دارایی دیجیتال صحیح را در مکان صحیح آپلود کرده‌اید ، روی پیوند و تأیید کلیک کنید.

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

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

لینک‌های برنامه اندروید خود را آزمایش کنید

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

  1. در دستیار پیوندهای برنامه، روی «آزمایش پیوندهای برنامه» کلیک کنید.
  2. آدرس اینترنتی (URL) مورد نظر برای آزمایش را در فیلد URL وارد کنید؛ برای مثال، http://recipe-app.com/recipe/grilled-potato-salad .
  3. شکل ۳. پنجره‌ی پیوندهای برنامه‌ی آزمایشی که یک URL در حال آزمایش و یک پیام موفقیت‌آمیز را نشان می‌دهد.

  4. روی اجرای تست کلیک کنید.

اگر نگاشت URL به درستی تنظیم نشده باشد یا وجود نداشته باشد، یک پیام خطا در زیر URL در کادر محاوره‌ای Test App Links ظاهر می‌شود. در غیر این صورت، اندروید استودیو برنامه شما را در دستگاه یا شبیه‌ساز در activity مشخص شده بدون نمایش کادر محاوره‌ای ابهام‌زدایی ("انتخاب‌کننده برنامه") اجرا می‌کند و همانطور که در شکل 3 نشان داده شده است، یک پیام موفقیت در کادر محاوره‌ای App Link Testing نشان می‌دهد.

اگر اندروید استودیو نتواند برنامه را اجرا کند، یک پیام خطا در پنجره Run اندروید استودیو ظاهر می‌شود.

برای آزمایش پیوندهای برنامه اندروید از طریق دستیار پیوندهای برنامه، باید یک دستگاه متصل یا یک دستگاه مجازی با سیستم عامل اندروید 6.0 (سطح API 23) یا بالاتر در دسترس داشته باشید. برای اطلاعات بیشتر، در مورد نحوه اتصال دستگاه یا ایجاد AVD مطالعه کنید.