Ссылки на приложения для Android – это URL-адреса с протоколом HTTP, которые ведут пользователей непосредственно к определенному контенту в вашем приложении для Android. Ссылки на приложения для Android могут увеличить трафик в вашем приложении, помочь вам узнать, какой контент приложения используется чаще всего, и упростить пользователям поиск контента в установленном приложении и обмен им.
Чтобы добавить поддержку ссылок на приложения для Android, выполните следующие действия:
- Создайте фильтры интентов в манифесте.
- Добавьте в действия приложения код для обработки входящих ссылок.
- Свяжите приложение и сайт с помощью протокола Digital Asset Links.
App Links Assistant в Android Studio упрощает этот процесс, предлагая пошаговые инструкции, как описано ниже.
Подробнее о том, как работают ссылки на приложения для Android и какие преимущества они дают…
Добавьте фильтры интентов
App Links Assistant в Android Studio позволяет создавать фильтры интентов в манифесте и сопоставлять существующие URL вашего сайта с действиями в приложении. Кроме того, App Links Assistant добавляет в каждое действие шаблон кода для обработки intent.
Чтобы добавить фильтры намерений и обработку URL, выполните следующие действия:
- Выберите Tools (Инструменты) > App Links Assistant.
- Нажмите Открыть редактор сопоставления URL, а затем – Добавить
в нижней части списка Сопоставление URL, чтобы добавить новое сопоставление URL. Добавьте сведения о новом сопоставлении URL:
Рисунок 1. Добавьте основные сведения о структуре ссылок на сайте, чтобы сопоставить URL с действиями в приложении.
- В поле Host (Хост) введите URL своего сайта.
Добавьте
path,pathPrefixилиpathPatternдля URL, которые вы хотите сопоставить.Например, если у вас есть приложение с рецептами, которые доступны в одном действии, а на сайте все рецепты находятся в каталоге /recipe, используйте pathPrefix и введите /recipe. Таким образом, URL http://www.recipe-app.com/recipe/grilled-potato-salad будет сопоставлен с действием, которое вы выберете на следующем шаге.
- Выберите действие, которое должно выполняться при переходе по URL.
- Нажмите ОК.
Откроется окно редактора сопоставления URL. App Links Assistant добавит фильтры intent на основе сопоставления URL в файл
AndroidManifest.xmlи выделит изменения в поле Preview (Предварительный просмотр). Если вы хотите внести изменения, нажмите Открыть AndroidManifest.xml и отредактируйте фильтр интентов. Подробнее о фильтрах намерений для входящих ссылок…В главном окне инструмента App Links Assistant также показываются все существующие ссылки на контент в файле
AndroidManifest.xml. Чтобы быстро исправить все ошибки в конфигурации, нажмите Fix All Manifest Issues (Исправить все ошибки в манифесте).
Примечание. Чтобы поддерживать будущие ссылки без обновления приложения, определите сопоставление URL, которое поддерживает URL, которые вы планируете добавить. Также укажите URL главного экрана приложения, чтобы он был включен в результаты поиска.
Чтобы проверить, правильно ли работает сопоставление URL, введите URL в поле Проверить сопоставление URL.
Если все работает правильно, вы увидите сообщение о том, что введенный URL сопоставлен с выбранным действием.
Обработка входящих ссылок
Убедившись, что сопоставление URL работает правильно, добавьте логику для обработки созданного намерения:
- В App Links Assistant нажмите Select Activity (Выбрать действие).
- Выберите действие из списка и нажмите Вставить код.
App Links Assistant добавит в ваше действие код, похожий на следующий:
Kotlin
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 ... }
Java
@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, например показать соответствующий контент. Например, для приложения с рецептами код может выглядеть следующим образом:
Kotlin
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) } } } }
Java
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 для приложения App Links Assistant генерирует файл протокола связи цифровых объектов, который можно использовать, чтобы связать сайт с приложением.
Вместо файла Digital Asset Links вы можете связать сайт и приложение в Search Console.
Если вы используете функцию подписания приложений в Google Play, цифровой отпечаток сертификата, созданный App Links Assistant, обычно не совпадает с тем, который находится на устройствах пользователей. В этом случае вы можете найти правильный фрагмент JSON протокола связи цифровых объектов для своего приложения в аккаунте разработчика Play Console в разделе Release > Setup > App signing.
Чтобы связать приложение и сайт с помощью App Links Assistant, нажмите Open Digital Asset Links File Generator (Открыть генератор файлов протокола связи цифровых объектов) в App Links Assistant и выполните следующие действия:
Рисунок 2. Введите сведения о сайте и приложении, чтобы создать файл протокола связи цифровых объектов.
- Укажите домен сайта и идентификатор приложения.
Чтобы добавить в файл протокола связи цифровых объектов поддержку входа через One Tap, выберите Поддерживать обмен учетными данными между приложением и сайтом и введите URL входа на сайт.В файл протокола связи цифровых объектов будет добавлена следующая строка, указывающая, что приложение и сайт используют одни и те же учетные данные:
delegate_permission/common.get_login_creds.Укажите конфигурацию подписи или выберите файл хранилища ключей.
Убедитесь, что вы выбрали правильный файл конфигурации или хранилища ключей для конечной или отладочной сборки приложения. Если вы хотите настроить рабочую сборку, используйте файл конфигурации конечной сборки. Если вы хотите протестировать сборку, используйте конфигурацию отладки.
- Нажмите Создать файл протокола связи цифровых объектов.
- Когда Android Studio создаст файл, нажмите Сохранить файл, чтобы скачать его.
- Загрузите файл
assetlinks.jsonна сайт, предоставив доступ для чтения всем пользователям, по адресуhttps://yoursite/.well-known/assetlinks.json.Важно! Система проверяет файл протокола связи цифровых объектов по зашифрованному протоколу HTTPS. Убедитесь, что файл
assetlinks.jsonдоступен через HTTPS-соединение, независимо от того, включает ли фильтр интентов вашего приложенияhttps. - Нажмите Связать и подтвердить, чтобы убедиться, что вы загрузили правильный файл Digital Asset Links в нужное место.
App Links Assistant может проверить файл Digital Asset Links, который должен быть опубликован на вашем сайте. Для каждого домена, указанного в файле манифеста, Помощник анализирует файл на вашем сайте, выполняет проверки и предоставляет подробные инструкции по устранению ошибок.
Подробнее о том, как связать сайт с приложением с помощью файла протокола Digital Asset Links, рассказывается в статье Как объявить о связи с сайтом.
Как протестировать ссылки на приложение для Android
Чтобы проверить, открывают ли ссылки нужные действия, выполните следующие действия:
- В App Links Assistant нажмите Test App Links (Протестировать ссылки на приложение).
- В поле URL введите URL, который вы хотите протестировать, например http://recipe-app.com/recipe/grilled-potato-salad.
- Нажмите Запустить тест.
Рисунок 3. Диалоговое окно Проверить ссылки на приложение, в котором показан проверяемый URL и сообщение об успешном завершении проверки.
Если сопоставление URL настроено неправильно или отсутствует, в диалоговом окне Проверка ссылок на приложение под URL появится сообщение об ошибке. В противном случае Android Studio запустит приложение на устройстве или в эмуляторе с указанной операцией, не показывая диалоговое окно выбора приложения, и выведет сообщение об успешном выполнении в диалоговом окне App Link Testing (Тестирование ссылок на приложение), как показано на рисунке 3.
Если Android Studio не удается запустить приложение, в окне Run (Запуск) появится сообщение об ошибке.
Чтобы протестировать ссылки на приложение для Android с помощью App Links Assistant, у вас должно быть подключено устройство или доступно виртуальное устройство с Android 6.0 (уровень API 23) или более поздней версии. Подробнее о том, как подключить устройство и как создать виртуальное устройство Android…