افزودن «پیوندهای برنامه Android»

«پیوندهای برنامه Android» نشانی‌های وب HTTP هستند که کاربران را مستقیماً به محتوای خاصی در برنامه Android شما هدایت می‌کنند. «پیوندهای برنامه Android» می‌توانند ترافیک بیشتری را به برنامه شما هدایت کنند، به شما کمک کنند تا متوجه شوید کدام محتوای برنامه بیشتر استفاده می‌شود، و پیدا کردن و هم‌رسانی محتوا را در برنامه نصب‌شده برای کاربران آسان‌تر کنند.

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

  1. فیلترهای قصد را در مانیفست خود ایجاد کنید.
  2. برای مدیریت پیوندهای ورودی، کدی به فعالیت‌های برنامه‌تان اضافه کنید.
  3. برنامه و وب‌سایتتان را با «پیوندهای دارایی دیجیتال» مرتبط کنید.

«دستیار پیوندهای برنامه» در Android Studio این فرایند را با جادوی گام‌به‌گام ساده می‌کند، همان‌طور که در زیر شرح داده شده است.

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

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

«دستیار پیوندهای برنامه» در Android Studio می‌تواند به شما کمک کند فیلترهای قصد را در مانیفست خود ایجاد کنید و نشانی‌های وب موجود را از وب‌سایتتان به فعالیت‌های برنامه‌تان نگاشت کنید. «دستیار پیوندهای برنامه» همچنین کد الگو را در هر فعالیت مربوطه اضافه می‌کند تا قصد را مدیریت کند.

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

  1. Tools > App Links Assistant (ابزارها > دستیار پیوندهای برنامه) را انتخاب کنید.
  2. روی باز کردن ویرایشگر نگاشت نشانی وب کلیک کنید و سپس روی افزودن در پایین فهرست نگاشت نشانی وب کلیک کنید تا نگاشت نشانی وب جدیدی اضافه کنید.
  3. جزئیات نگاشت نشانی وب جدید را اضافه کنید:

    «دستیار پیوندهای برنامه» شما را در مراحل نگاشت نشانی وب پایه راهنمایی می‌کند

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

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

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

    3. فعالیتی را که نشانی‌های وب باید کاربران را به آن هدایت کنند انتخاب کنید.
    4. روی بسیارخوب کلیک کنید.

    پنجره «ویرایشگر نگاشت نشانی وب» ظاهر می‌شود. «دستیار پیوندهای برنامه» فیلترهای قصد را براساس نگاشت نشانی وب شما به فایل AndroidManifest.xml اضافه می‌کند و تغییرات را در فیلد پیش‌نمایش برجسته می‌کند. اگر می‌خواهید تغییری ایجاد کنید، روی باز کردن AndroidManifest.xml کلیک کنید تا فیلتر قصد را ویرایش کنید. برای کسب اطلاعات بیشتر، فیلترهای قصد برای پیوندهای ورودی را ببینید.

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

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

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

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

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

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

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

  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);
    }
}

مرتبط کردن برنامه با وب‌سایت

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

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

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

برای مرتبط کردن برنامه و وب‌سایتتان بااستفاده از «دستیار پیوندهای برنامه»، روی باز کردن تولیدکننده فایل پیوندهای دارایی دیجیتال در «دستیار پیوندهای برنامه» کلیک کنید و این مراحل را دنبال کنید:

«دستیار پیوندهای برنامه» شما را در مراحل نگاشت نشانی وب پایه راهنمایی می‌کند

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

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

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

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

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

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

  7. روی پیوند دادن و درستی‌سنجی کلیک کنید تا تأیید کنید فایل «پیوندهای دارایی دیجیتال» صحیح را در مکان صحیح بارگذاری کرده‌اید.

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

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

آزمایش کردن «پیوندهای برنامه Android»

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

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

  4. روی اجرای آزمایش کلیک کنید.

اگر نگاشت نشانی وب به‌درستی راه‌اندازی نشده باشد یا وجود نداشته باشد، پیام خطایی در زیر نشانی وب در کادر گفتگوی آزمایش پیوندهای برنامه ظاهر می‌شود. درغیراین‌صورت، Android Studio برنامه‌تان را در دستگاه یا شبیه‌ساز در فعالیت مشخص‌شده بدون نشان دادن کادر گفتگوی ابهام‌زدایی («انتخابگر برنامه») راه‌اندازی می‌کند و پیام موفقیت را در کادر گفتگوی آزمایش پیوند برنامه نشان می‌دهد، همان‌طور که در شکل ۳ نشان داده شده است.

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

برای آزمایش «پیوندهای برنامه Android» ازطریق «دستیار پیوندهای برنامه»، باید دستگاهی متصل یا دستگاهی مجازی دردسترس داشته باشید که Android نسخه ۶.۰ (سطح میانای برنامه‌سازی کاربردی ۲۳) یا بالاتر را اجرا کند. برای اطلاعات بیشتر، درباره نحوه اتصال دستگاه یا ایجاد AVD مطالعه کنید.