Когда пользователь инициирует медиа-действия с контентом (например, пользователь нажимает на ваш значок в поиске Google), Google направляет пользователя непосредственно к контенту вашего приложения или платформы, используя глубокую ссылку на контент.
Глубокая ссылка
К глубоким ссылкам предъявляются следующие требования:
-
urlTemplate
( целевого объекта ) требует наличия глубокой ссылки. - Глубокие ссылки должны открывать целевой контент на всех указанных платформах.
- Глубокие ссылки могут включать параметры (&) или теги привязки (#).
- Если автозапуск не активирован по умолчанию, мы рекомендуем добавить параметр, например
&autoplay=true
, к глубокой ссылке, чтобы активировать функцию автозапуска в вашем приложении или на платформе.
- Если автозапуск не активирован по умолчанию, мы рекомендуем добавить параметр, например
Пример @id
, url
и urlTemplate
:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie",
"url": "http://www.example.com/my_favorite_movie",
"name": "My Favorite Movie",
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/my_favorite_movie&autoplay=true",
...
},
...
},
...
}
Используйте глубокие ссылки, чтобы начать воспроизведение
Следующий псевдокод представляет желаемое поведение, когда пользователь инициирует воспроизведение:
if your app is installed
open app and initiate playback
elseif your website supports playback
open your website and initiate playback
else
take user to your app's install page on the Play or App store and then
initiate playback after your app is installed
Чтобы добиться желаемого поведения воспроизведения, придерживайтесь следующих требований, специфичных для платформы:
- iOS
- Вы должны использовать универсальные ссылки .
- Андроид и Андроид ТВ
- Вы можете использовать либо ссылки на приложения Android , либо ссылки на собственные схемы .
Ссылки на пользовательские схемы для Android и Android TV
На Android и Android TV вы также можете использовать ссылки на собственные схемы. package_id
вашего приложения должен быть включен в URI пользовательской схемы. Это гарантирует, что пользователь попадет на страницу вашего приложения в Play Store, если ваше приложение не установлено. Таким образом, следующие форматы URI являются единственными приемлемыми форматами пользовательских схем для действий с мультимедиа:
-
android-app://{package_id}/{scheme}/{path}
Например:
android-app://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
Более подробную информацию смотрите в полной спецификации .
-
intent://{package_id}/{scheme}/{path}
Например:
intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
Другие форматы URI, такие как приведенный ниже пример, не являются приемлемыми ссылками настраиваемой схемы для действий с мультимедиа:
-
scheme://{path}
Например:
mynetwork://play?series=20114&title=21141&media=e90c89fa4
Лучшие практики
Если ваше приложение не установлено и у вас нет веб-плеера, настройте свой веб-сервер так, чтобы он автоматически перенаправлял пользователя в магазин Android или App Store для установки вашего приложения. Для перенаправления используйте динамические ссылки Firebase или сторонние платформы смарт-ссылок.
Если ваше приложение не установлено, но у вас есть веб-плеер, предоставьте ссылку или смарт-баннер в магазин Android или App Store, чтобы пользователи могли установить ваше приложение. Ниже приведен пример реализованного смарт-баннера:
Сводка требований и ограничений для глубоких ссылок
В следующей таблице показаны требования и ограничения для глубоких ссылок применительно к iOS, Android и AndroidTV:
iOS | Android и AndroidTV | |
---|---|---|
http:// или https:// | Необходимый | Рекомендуется, если мобильный веб-сайт поддерживает воспроизведение. |
Android-приложение:// или намерение:// | Н/Д | Рекомендуется, если мобильный веб-сайт не поддерживает воспроизведение. |
foo:// (произвольная строка) | Не допускается | Не допускается |
Типы платформ
Чтобы ваш контент был доступен на нескольких платформах Google (Поиск, Ассистент, Android TV и Chromecast), соблюдайте следующие требования:
- Все платформы, поддерживаемые партнерами, требуют наличия глубокой ссылки на ваш контент.
- Для платформ Chromecast необходимо создать приемник с использованием последней версии Cast Application Framework (CAF) Receiver SDK .
- Для мобильных платформ (Android и iOS) см. требования в разделе «Использовать глубокие ссылки для запуска воспроизведения» .
В следующей таблице содержится список платформ, поддерживающих Media Actions:
Платформа | Описание |
---|---|
http://schema.org/DesktopWebPlatform | Поисковая платформа в настольном веб-браузере. |
http://schema.org/MobileWebPlatform | Поисковая платформа в мобильном веб-браузере. |
http://schema.org/AndroidPlatform | Платформы поиска и PlayGuide в приложении для Android. |
http://schema.org/AndroidTVPlatform | Платформа Android TV в приложении Android TV. |
http://schema.org/IOSPlatform | Поисковая платформа в приложении iOS. |
http://schema.googleapis.com/GoogleVideoCast | Платформы Cast и Home на устройстве Chromecast. |
http://schema.googleapis.com/GoogleAudioCast | Слушайте только действия . Платформы Cast и Home на устройстве Chromecast. |
Пример сущности с двумя разными глубокими ссылками:
"potentialAction": {
"@type": "WatchAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/standardView",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
{
"@type":"EntryPoint",
"urlTemplate":"http://example.com/multipleViews",
"actionPlatform": [
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "videoFormat",
"value": [ "HD", "4K" ]
}
],
}
],
...
}
Поведение воспроизведения
Для большинства контента, когда Google направляет пользователей в ваше приложение или платформу, мы требуем, чтобы вы автоматически воспроизвели выбранный контент. Это позволяет пользователям быстро начать просмотр или прослушивание контента.
Наблюдать за поведением воспроизведения действий
Для действий просмотра нам требуется следующее поведение воспроизведения.
Все глубокие ссылки: Movie, TVEpisode, TVSeries и TVSeason.
Поведение при входе в систему или покупке. Если ваша служба требует входа в систему или покупки, после этого фильм или эпизод должен воспроизводиться в соответствии с его типом. Более подробную информацию можно найти в приведенных ниже правилах создания глубоких ссылок.
Воспроизведение. Если ваша служба отслеживает состояние пользователя, воспроизведение должно начинаться с предыдущего маркера пользователя в фильме или эпизоде. В противном случае воспроизведение должно начаться с начала контента.
Автовоспроизведение. В зависимости от платформы требуется, чтобы ваш сервис заметно воспроизводил контент после того, как целевой эпизод или фильм выбран пользователем.
- Поиск: автозапуск настоятельно рекомендуется, но не является обязательным. Если автозапуск не поддерживается, контент должен воспроизводиться в один клик после того, как пользователь перейдет в ваше приложение или службу.
- Android TV: для фильма и эпизода требуется автовоспроизведение.
Только глубокие ссылки TVSeries и TVSeason
Выбор целевого эпизода: необходимо выбрать правильный целевой эпизод. Если ваша служба отслеживает состояние пользователя, целевым эпизодом должен быть эпизод, который пользователь прекратил смотреть в последний раз. Или, если пользователь полностью досмотрел выпуск, который он просматривал в последний раз, вместо этого сделайте целевым выпуском следующий выпуск. В противном случае целевой эпизод должен быть одним из следующих по вашему усмотрению:
-
TVSeries
- Первая серия сериала. Рекомендуется для сериальных шоу.
- Первая серия последнего сезона. Рекомендуется для длительных сериальных шоу.
- Последний эпизод. Рекомендуется для ежедневных или новостных передач.
-
TVSeason
- Первая серия сезона. Рекомендуется для сериальных шоу.
- Последний эпизод. Рекомендуется для ежедневных или новостных передач.
Глубокая ссылка для
TVSeries
илиTVSeason
должна быть статической (неизменяемой) и соответствовать целевому эпизоду. Не используйте глубокую ссылку для конкретного эпизода.В следующей таблице представлено несколько примеров, демонстрирующих необходимую логику выбора целевого эпизода для типов сущностей
TVSeries
,TVSeason
иTVEpisode
:Целевой эпизод, если пользователь последний раз смотрел S6E24. Целевой эпизод, если пользователь не смотрел ни одного эпизода Глубокая ссылка на серию - S6E24 (если пользователь не завершил S6E24)
- S6E25 (если пользователь закончил просмотр S6E24)
Одно из следующих:
- Первый эпизод сериала
- Первая серия последнего сезона
- Последний эпизод
Сезонная глубокая ссылка (S1–S5) - Какой эпизод последний раз смотрел пользователь в этом сезоне или первый эпизод сезона, если пользователь не смотрел ни одного эпизода в этом сезоне.
- Первая серия сезона
Глубокая ссылка на сезон (S6) - S6E24 (если пользователь не завершил S6E24)
- S6E25 (если пользователь закончил просмотр S6E24)
Одно из следующих:
- Первая серия сезона
- Последний эпизод
Глубокая ссылка на эпизод - Конкретный эпизод, по которому был сделан щелчок.
- Конкретный эпизод, по которому был сделан щелчок.
-
Действия при прослушивании, поведение при воспроизведении
Для действий прослушивания нам требуется следующее поведение воспроизведения:
- Контент должен воспроизводиться в один клик после того, как пользователь перейдет в ваше приложение или сервис.
- Если ваше приложение или платформа требует входа в систему, ему необходимо воспроизвести контент немедленно или в один клик после входа в систему.
- Ваше приложение или платформа должны предлагать всем пользователям хотя бы один способ воспроизведения определенной песни, альбома, исполнителя или плейлиста.
- Для пользователей, которые не имеют права воспроизводить конкретный контент (например, у них нет необходимой подписки), ваша служба должна объяснить, что пользователю необходимо сделать, чтобы получить право воспроизводить именно этот контент после перехода на ваше приложение или платформу.
Мы рекомендуем следующие рекомендации для вашего приложения или платформы:
- Для
MusicGroup
воспроизводит разный контент исполнителя каждый раз, когда пользователь выбирает исполнителя. - Для
MusicAlbum
воспроизводите содержимое в порядке появления в альбоме. - Для
MusicPlaylist
воспроизводит разное содержимое из списка воспроизведения каждый раз, когда пользователь выбирает список воспроизведения.
Определите глубокие ссылки
Сделайте следующее:
- Для каждого контента проверьте, есть ли у него разные глубокие ссылки в зависимости от платформы.
- Для каждой глубокой ссылки задайте следующие вопросы о ее точке входа (странице вашего приложения или платформы, на которую вы попадаете по глубокой ссылке):
- Поддерживает ли точка входа (а не контент) несколько языков?
- Поддерживает ли точка входа несколько языков субтитров?
- Поддерживает ли точка входа несколько ракурсов камеры?
- Поддерживает ли точка входа несколько форматов видео?
Если на любой из этих вопросов вы ответили утвердительно, вам необходимо предоставить свойство additionalProperty
для этой глубокой ссылки. См. пример дополнительного свойства .