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

当用户对内容发起媒体操作(例如,用户点击 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 TV
您可以使用 Android App Links 或自定义协议链接。

在 Android 和 Android TV 上,您还可以使用自定义协议链接。应用的 package_id 必须包含在自定义协议 URI 中。这样可确保在用户未安装您的应用时,系统会将其转到 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://{path}

例如:

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

最佳做法

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

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

已植入的智能横幅示例

下表显示了与 iOS、Android 和 AndroidTV 相关的深层链接的要求和限制:

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

平台类型

为确保您的内容可在支持媒体操作的多个 Google 平台上使用,请遵守以下要求:

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

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

观看操作播放行为

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

所有深层链接:电影、电视剧集、电视剧和电视剧季

  • 登录或购买行为:如果您的服务需要登录或购买,则必须在之后播放电影或剧集(视内容类型而定)。如需了解详情,请参阅下文中的深层链接指南。

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

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

    • 搜索:强烈建议使用自动播放功能,但这不是必需的。如果不支持自动播放,则在用户进入您的应用或服务后,内容必须在一次点击内播放。
    • Android TV:电影和剧集必须支持自动播放。

仅限 TVSeries 和 TVSeason 深层链接

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

    • TVSeries
      • 相应连续剧的第一集。建议用于连续剧。
      • 最新一季的第一集。建议用于长期连载的节目。
      • 最新一集。建议用于每日或新闻相关节目。
    • TVSeason
      • 相应季的第一集。建议用于连续剧。
      • 最新一集。建议用于每日或新闻相关节目。

    TVSeries 或 TVSeason 的深层链接必须是静态的(不会更改),并且可解析为目标剧集。请勿使用特定剧集的深层链接。

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

    如果用户上次观看的是 S6E24,则目标剧集为 S6E25 如果用户尚未观看任何剧集,则为目标剧集
    连续剧深层链接
    • S6E24(如果用户尚未看完 S6E24)
    • S6E25(如果用户已看完 S6E24)

    以下项之一:

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

    以下项之一:

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

“聆听操作”的播放行为

对于“收听”操作,我们要求具有以下播放行为:

  • 用户进入您的应用或服务后,只需点击一次即可播放内容。
  • 如果您的应用或平台需要登录,则需要在登录后立即或在点击一次后播放内容。
  • 您的应用或平台必须提供至少一种方式,让所有用户都能播放确切的歌曲、专辑、音乐人或歌单。
    • 对于不符合播放确切内容条件的用户(例如,他们没有所需的订阅),您的服务必须在用户到达您的应用或平台时说明用户需要做什么才能符合播放确切内容的条件。

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

  • 对于 MusicGroup,在用户每次选择音乐人时播放该音乐人的不同内容。
  • 对于 MusicAlbum,按内容在相册中的显示顺序播放内容。
  • 对于 MusicPlaylist,每次用户选择播放列表时,播放列表中的内容都会有所不同。

执行以下操作:

  1. 对于每项内容,请检查其是否具有因平台而异的深层链接。
  2. 对于每个深层链接,请问自己以下有关其入口点(深层链接将您引导至的应用或平台上的页面)的问题:
    • 入口点(而非内容)是否支持多种语言?
    • 入口点是否支持多种字幕语言?
    • 入口点是否支持多个拍摄角度?
    • 入口点是否支持多种视频格式?

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