Ссылки на приложения Android — это URL-адреса HTTP, которые перенаправляют пользователей непосредственно к определенному контенту вашего приложения Android. Ссылки на приложения Android могут привлечь больше трафика к вашему приложению, помочь вам определить, какой контент приложения используется чаще всего, а также облегчить пользователям поиск и обмен контентом в установленном приложении.
Чтобы добавить поддержку ссылок на приложения Android:
- Создайте фильтры намерений в своем манифесте.
- Добавьте код в действия вашего приложения для обработки входящих ссылок.
- Свяжите свое приложение и свой веб-сайт с помощью ссылок на цифровые активы.
Помощник по ссылкам на приложения в Android Studio упрощает процесс с помощью пошагового мастера, как описано ниже.
Дополнительную информацию о том, как работают ссылки на приложения и какие преимущества они предоставляют, можно найти в разделе «Обработка ссылок на приложения Android» .
Добавить фильтры намерений
Помощник по ссылкам на приложения в Android Studio может помочь вам создать фильтры намерений в манифесте и сопоставить существующие URL-адреса с вашего веб-сайта с действиями в вашем приложении. Помощник по ссылкам на приложения также добавляет код шаблона в каждое соответствующее действие для обработки намерения.
Чтобы добавить фильтры намерений и обработку URL-адресов, выполните следующие действия:
- Выберите «Инструменты» > «Помощник по ссылкам на приложения» .
- Нажмите «Открыть редактор сопоставления URL-адресов» , а затем нажмите « Добавить» . в нижней части списка сопоставления URL-адресов , чтобы добавить новое сопоставление URL-адресов.
Добавьте детали для нового сопоставления URL-адресов:
- Введите URL-адрес вашего веб-сайта в поле «Хост» .
Добавьте
path
,pathPrefix
илиpathPattern
для URL-адресов, которые вы хотите сопоставить.Например, если у вас есть приложение для обмена рецептами, в котором все рецепты доступны в одном и том же действии, и все рецепты вашего соответствующего веб-сайта находятся в одном каталоге /recipe , используйте pathPrefix и введите /recipe. Таким образом, URL-адрес http://www.recipe-app.com/recipe/grilled-potato-salad будет соответствовать действию, которое вы выберете на следующем шаге.
- Выберите действие, к которому URL-адреса должны направлять пользователей.
- Нажмите ОК.
Появится окно редактора сопоставления URL-адресов. Помощник по ссылкам на приложения добавляет фильтры намерений на основе сопоставления URL-адресов с файлом
AndroidManifest.xml
и выделяет изменения в поле «Предварительный просмотр» . Если вы хотите внести какие-либо изменения, нажмите «Открыть AndroidManifest.xml» , чтобы изменить фильтр намерений. Чтобы узнать больше, ознакомьтесь с фильтрами намерений для входящих ссылок .В главном окне инструмента «Помощник по ссылкам на приложения» также отображаются все существующие глубокие ссылки в файле
AndroidManifest.xml
, и вы можете быстро исправить любые неправильные настройки, нажав «Исправить все проблемы манифеста» .Примечание. Чтобы поддерживать будущие ссылки без обновления приложения, определите сопоставление URL-адресов, поддерживающее URL-адреса, которые вы планируете добавить. Кроме того, укажите URL-адрес главного экрана вашего приложения, чтобы он был включен в результаты поиска.
Чтобы убедиться, что сопоставление URL-адресов работает правильно, введите URL-адрес в поле «Проверить сопоставление URL-адресов» .
Если все работает правильно, в сообщении об успехе будет показано, что введенный вами URL-адрес соответствует выбранному вами действию.
Обрабатывать входящие ссылки
Убедившись, что сопоставление URL-адресов работает правильно, добавьте логику для обработки созданного вами намерения:
- Нажмите «Выбрать действие» в помощнике по ссылкам на приложения.
- Выберите действие из списка и нажмите «Вставить код» .
Помощник по ссылкам на приложения добавляет в вашу активность код, аналогичный следующему:
Котлин
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-адресов для вашего приложения Помощник по ссылкам на приложения создает файл ссылок на цифровые активы, который вы можете использовать для связи вашего веб-сайта с вашим приложением .
В качестве альтернативы использованию файла ссылок на цифровые активы вы можете связать свой сайт и приложение в Search Console .
Если вы используете подпись приложения Play для своего приложения, отпечаток сертификата, созданный Помощником по ссылкам на приложения, обычно не совпадает с отпечатком сертификата на устройствах пользователей. В этом случае вы можете найти правильный фрагмент JSON Digital Asset Links для вашего приложения в своей учетной записи разработчика Play Console в разделе Release > Setup > App signing .
Чтобы связать свое приложение и веб-сайт с помощью Помощника по ссылкам на приложения, нажмите « Открыть генератор ссылок на цифровые активы» в Помощнике по ссылкам на приложения и выполните следующие действия:
- Введите домен вашего сайта и идентификатор приложения .
Чтобы включить поддержку в файл ссылок на цифровые активы для входа в систему в одно касание , выберите «Поддержка совместного использования учетных данных между приложением и веб-сайтом» и введите URL-адрес для входа на ваш сайт. При этом в файл ссылок на цифровые активы будет добавлена следующая строка, объявляющая, что ваше приложение и учетные данные для входа на общий ресурс веб-сайта:
delegate_permission/common.get_login_creds
.Укажите конфигурацию подписи или выберите файл хранилища ключей .
Убедитесь, что вы выбрали правильный файл конфигурации выпуска или хранилища ключей для сборки выпуска или файл конфигурации отладки или файла хранилища ключей для отладочной сборки вашего приложения. Если вы хотите настроить производственную сборку, используйте конфигурацию выпуска. Если вы хотите протестировать свою сборку, используйте конфигурацию отладки.
- Нажмите «Создать файл ссылок на цифровые активы» .
- Как только Android Studio сгенерирует файл, нажмите «Сохранить файл» , чтобы загрузить его.
- Загрузите файл
assetlinks.json
на свой сайт с доступом для чтения для всех по адресуhttps:// yoursite /.well-known/assetlinks.json
.Важно: Система проверяет файл ссылок на цифровые активы по зашифрованному протоколу HTTPS. Убедитесь, что файл
assetlinks.json
доступен через соединение HTTPS, независимо от того, включает ли фильтр намерений вашего приложенияhttps
. - Нажмите «Связать и подтвердить», чтобы подтвердить, что вы загрузили правильный файл ссылок на цифровые активы в правильное место.
Помощник по ссылкам на приложения может проверить файл ссылок на цифровые активы, который должен быть опубликован на вашем веб-сайте. Для каждого домена, объявленного в файле манифеста, Ассистент анализирует файл на вашем веб-сайте, выполняет проверки и предоставляет подробное объяснение, как исправить любые ошибки.
Узнайте больше о связывании вашего веб-сайта с вашим приложением с помощью файла ссылок на цифровые активы в разделе «Объявление ассоциаций веб-сайтов» .
Проверьте ссылки на свои приложения для Android
Чтобы убедиться, что ваши ссылки открывают правильную активность, выполните следующие действия:
- В помощнике по ссылкам на приложения нажмите «Проверить ссылки на приложения» .
- Введите URL-адрес, который вы хотите протестировать, в поле URL-адрес ; например, http://recipe-app.com/recipe/grilled-potato-salad .
- Нажмите «Выполнить тест» .
Если сопоставление URL-адресов настроено неправильно или не существует, под URL-адресом в диалоговом окне «Тестирование ссылок приложения» появится сообщение об ошибке. В противном случае Android Studio запускает ваше приложение на устройстве или в эмуляторе при указанном действии без отображения диалогового окна устранения неоднозначности («выбор приложения») и отображает сообщение об успешном завершении в диалоговом окне тестирования связи приложения , как показано на рис. 3.
Если Android Studio не может запустить приложение, в окне «Выполнить» Android Studio появляется сообщение об ошибке.
Чтобы протестировать ссылки на приложения Android с помощью Ассистента по ссылкам на приложения, у вас должно быть подключено или доступно виртуальное устройство под управлением Android 6.0 (уровень API 23) или выше. Подробнее читайте о том, как подключить устройство или создать AVD .