确定你的内容的平台专用深层链接

当用户对内容发起媒体操作(例如,用户点击 Google 搜索中的图标)时,Google 会使用内容的深层链接将用户直接转到您应用或平台中的内容。

以下是深层链接的要求:

  • 目标对象urlTemplate 需要深层链接。
  • 深层链接需要在指定的所有平台上打开其定位的内容。
  • 深层链接可以包含参数 (&) 或锚点标记 (#)。
    • 如果自动播放功能未默认启用,我们建议您将参数(例如 &autoplay=true)附加到深层链接,以便在您的应用或平台上启用自动播放功能。

@idurlurlTemplate 示例:

{
   "@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 TV
您可以使用 Android App Links自定义架构链接

在 Android 和 Android TV 上,您还可以使用自定义 scheme 链接。自定义架构 URI 中必须包含应用的 package_id。这样可确保,如果用户未安装您的应用,系统会将其转到 Play 商店中您的应用的页面。因此,以下 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 链接:

scheme://{path}

例如:

mynetwork://play?series=20114&title=21141&media=e90c89fa4

最佳做法

如果用户未安装您的应用,并且您没有 Web 播放器,请将您的 Web 服务器配置为自动将用户重定向到 Android 或 App Store 以安装您的应用。如需重定向,请使用 Firebase 动态链接或第三方智能链接平台。

如果用户未安装您的应用,但您 Web 播放器,请提供指向 Android 或 App Store 的链接或智能横幅,以便用户安装您的应用。以下是已实现的智能横幅示例:

已实现的智能横幅广告示例

下表显示了适用于 iOS、Android 和 AndroidTV 的深层链接要求和限制:

iOS Android 和 AndroidTV
http://https:// 必需 如果移动网站支持播放,则建议使用此方法。
android-app://intent:// 不适用 如果移动网站不支持播放,建议使用此方法。
foo://(任意字符串) 不允许 不允许

平台类型

为确保您的内容可在 Google 的多个平台(搜索、Google 助理、Android TV 和 Chromecast)上提供,请遵循以下要求:

下表列出了支持媒体操作的平台:

平台 说明
http://schema.org/DesktopWebPlatform 桌面网络浏览器上的搜索平台。
http://schema.org/MobileWebPlatform 移动网络浏览器中的搜索平台。
http://schema.org/AndroidPlatform Android 应用中的搜索和 PlayGuide 平台。
http://schema.org/AndroidTVPlatform Android TV 应用中的 Android TV 平台。
http://schema.org/IOSPlatform iOS 应用中的搜索平台。
http://schema.googleapis.com/GoogleVideoCast Chromecast 设备上的 Cast 和 Home 平台。
http://schema.googleapis.com/GoogleAudioCast 仅限“聆听操作”。Chromecast 设备上的 Cast 和 Home 平台。

具有两个不同深层链接的实体示例:

"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 将用户引导至您的应用或平台时,我们要求您自动播放所选内容。这样,用户就可以快速开始观看或收听内容。

观看 Action 的播放行为

对于观看操作,我们要求遵循以下播放行为。

所有深层链接:Movie、TVEpisode、TVSeries 和 TVSeason

  • 登录或购买行为:如果您的服务需要登录或购买,则必须在用户完成相应操作后播放电影或剧集。如需了解详情,请参阅下文中的深层链接指南。

  • 播放:如果您的服务跟踪用户的状态,则播放必须从用户在电影或剧集中上次设置的标记开始。否则,播放必须从内容开头开始。

  • 自动播放:根据平台的不同,您的服务必须在用户选择目标剧集或电影后以醒目的方式播放相应内容。

    • 搜索:强烈建议启用自动播放,但这并非强制要求。如果不支持自动播放,则内容必须在用户转到您的应用或服务后一击即可播放。
    • Android TV:电影和剧集必须支持自动播放。

仅限 TVSeries 和 TVSeason 深层链接

  • 选择目标分集:您必须选择正确的目标分集。如果您的服务跟踪用户的状态,则目标剧集必须是用户上次停止观看的剧集。或者,如果用户完整观看了上次观看的剧集,则将目标剧集改为后续剧集。否则,目标分集必须由您自行选择,且必须是以下分集之一:

    • TVSeries
      • 系列的第一集。建议用于连续剧。
      • 最新一季的第一集。适用于长篇连续剧。
      • 最新剧集。适用于每日节目或新闻类节目。
    • TVSeason
      • 该季的第一集。建议用于连续剧。
      • 最新剧集。适用于每日节目或新闻类节目。

    TVSeriesTVSeason 的深层链接必须是静态(不变)的,并且会解析为目标分集。请勿使用特定分集的深层链接。

    下表提供了几个示例,展示了 TVSeriesTVSeasonTVEpisode 实体类型所需的目标剧集选择逻辑:

    如果用户上次观看的是第 6 季第 24 集,则目标剧集为第 6 季第 25 集 如果用户尚未观看任何剧集,则定位到目标剧集
    系列图书深层链接
    • S6E24(如果用户尚未观看完 S6E24)
    • S6E25(如果用户已看完 S6E24)

    以下项之一:

    • 系列的第一集
    • 最新一季的第一集
    • 最新剧集
    剧季深层链接 (S1-S5)
    • 用户上次观看的剧季中的任意一集,如果用户尚未观看该剧季中的任何剧集,则为该剧季的第一集。
    • 本季第一集
    剧季深层链接 (S6)
    • S6E24(如果用户尚未观看完 S6E24)
    • S6E25(如果用户已看完 S6E24)

    以下项之一:

    • 本季第一集
    • 最新剧集
    分集深层链接
    • 被点击的具体分集。
    • 被点击的具体分集。

聆听操作的播放行为

对于“Listen”Action,我们要求遵循以下播放行为:

  • 用户被定向到您的应用或服务后,内容必须在一次点击内开始播放。
  • 如果您的应用或平台需要登录,则需要在用户登录后立即或在用户点击一次后播放内容。
  • 您的应用或平台必须至少提供一种方式,让所有用户都能播放确切的歌曲、专辑、音乐人或播放列表。
    • 对于不符合播放相应内容条件的用户(例如,他们没有所需的订阅),您的服务必须在用户到达您的应用或平台后,说明用户需要执行哪些操作才能符合播放相应内容的条件。

我们建议您在应用或平台中遵循以下最佳实践:

  • 对于 MusicGroup,每次用户选择该音乐人时,都播放该音乐人不同的内容。
  • 对于 MusicAlbum,请按专辑中显示的顺序播放内容。
  • 对于 MusicPlaylist,每次用户选择该播放列表时,都播放该播放列表中的不同内容。

执行以下操作:

  1. 对于每项内容,请检查其是否针对不同平台提供了不同的深层链接。
  2. 对于每个深层链接,请针对其入口点(深层链接将您定向到的应用或平台上的页面)提出以下问题:
    • 入口点(而非内容)是否支持多种语言?
    • 入口点是否支持多种字幕语言?
    • 入口点是否支持多个摄像头角度?
    • 入口点是否支持多种视频格式?

如果您对上述任一问题的回答为“是”,则需要为该深层链接提供 additionalProperty 属性。请参阅 additionalProperty 示例。