Определите глубокие ссылки вашего контента, специфичные для платформы.

Когда пользователь инициирует медиа-действия с контентом (например, пользователь нажимает на ваш значок в поиске 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 вы также можете использовать ссылки на собственные схемы. 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), соблюдайте следующие требования:

В следующей таблице содержится список платформ, поддерживающих 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 воспроизводит разное содержимое из списка воспроизведения каждый раз, когда пользователь выбирает список воспроизведения.

Сделайте следующее:

  1. Для каждого контента проверьте, есть ли у него разные глубокие ссылки в зависимости от платформы.
  2. Для каждой глубокой ссылки задайте следующие вопросы о ее точке входа (странице вашего приложения или платформы, на которую вы попадаете по глубокой ссылке):
    • Поддерживает ли точка входа (а не контент) несколько языков?
    • Поддерживает ли точка входа несколько языков субтитров?
    • Поддерживает ли точка входа несколько ракурсов камеры?
    • Поддерживает ли точка входа несколько форматов видео?

Если на любой из этих вопросов вы ответили утвердительно, вам необходимо предоставить свойство additionalProperty для этой глубокой ссылки. См. пример дополнительного свойства .