当用户对内容发起媒体操作时(例如,用户在 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 的自定义架构链接
在 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
最佳做法
如果你没有安装应用,也没有网页播放器 将您的网络服务器配置为自动将用户重定向到 Android 或 App Store 安装该应用。如需进行重定向,请使用 Firebase 动态链接 或第三方智能链接平台
如果你没有安装应用,但你有网页播放器,那么: 提供指向 Android 或 App Store 的链接或智能横幅,以便用户 安装您的应用。以下是已植入智能横幅广告的示例:
深层链接要求和限制摘要
下表显示了深层链接的要求和限制,因为它们 适用于 iOS、Android 和 AndroidTV:
iOS | Android 和 AndroidTV | |
---|---|---|
http:// 或 https:// | 必填 | 如果移动网站支持播放,建议使用此选项。 |
android-app:// 或 intent:// | 不适用 | 如果移动网站不支持播放,建议使用此选项。 |
foo://(任意字符串) | 不允许 | 不允许 |
平台类型
为确保您的内容可在 Google 的多个平台(Google 搜索、Google 助理、Android TV 和 Chromecast)上使用,请遵循以下要求:
- 合作伙伴支持的所有平台都要求为您的内容提供深层链接。
- 对于 Chromecast 平台,您需要使用最新的 Cast 应用框架 (CAF) 接收器 SDK 构建接收器。
- 对于移动平台(Android 和 iOS),请参阅使用深层链接启动播放部分的要求。
下表列出了支持媒体操作的平台:
平台 | 说明 |
---|---|
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 设备上的投射平台和主屏幕平台。 |
http://schema.googleapis.com/GoogleAudioCast
|
仅限监听操作。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
属性。请参阅 additionalProperty 示例。