Nguồn cấp dữ liệu Hành động trên nội dung đa phương tiện là một đối tượng JSON chứa một tập hợp các thực thể. Thực thể là một đối tượng schema.org đại diện cho một mục trong danh mục của bạn: một tập chương trình truyền hình, một chương trình truyền hình dài tập, một bộ phim, một bài hát, một đĩa nhạc và nhiều nội dung khác.
![](https://developers-dot-devsite-v2-prod.appspot.com/actions/media/images/image-media-actions-29.jpg?authuser=7&hl=vi)
Cấu trúc nguồn cấp dữ liệu
Hành động xem và Hành động nghe có cấu trúc nguồn cấp dữ liệu khác nhau.
Hành động xem có hệ phân cấp như sau: |
Hành động nghe có hệ phân cấp như sau: |
Phong bì nguồn cấp dữ liệu
Phong bì nguồn cấp dữ liệu là đối tượng cấp cao nhất trong nguồn cấp dữ liệu Media Actions. Đối tượng này chứa một mảng đối tượng đánh dấu nội dung (thực thể) đại diện cho tất cả nội dung trong danh mục của bạn.
Phong bì nguồn cấp dữ liệu hỗ trợ các thuộc tính sau:
Thuộc tính | Loại | Mô tả |
---|---|---|
@context |
URL | Bắt buộc – Đặt thành http://schema.org |
@type |
Văn bản | Bắt buộc – Đặt thành DataFeed . |
dateModified |
DateTime | Bắt buộc – Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu, ở định dạng ISO 8601 (bao gồm cả múi giờ). |
dataFeedElement |
Thing | Bắt buộc – Các thực thể trong danh mục nội dung đa phương tiện của bạn. |
Mẫu phong bì nguồn cấp dữ liệu
{
"@context": "http://schema.org",
"@type": "DataFeed",
"dateModified": "2018-07-20T00:44:51Z",
"dataFeedElement": [
{ <CONTENT MARKUP OBJECT 01> },
{ <CONTENT MARKUP OBJECT 02> },
{ <CONTENT MARKUP OBJECT 03> },
...
]
}
Đánh dấu nội dung
Đối tượng đánh dấu nội dung đại diện cho một thực thể duy nhất trong danh mục của bạn: phim, tập chương trình truyền hình, phim truyền hình, bài hát, đĩa nhạc, đài phát thanh, v.v. Đối tượng này chứa giá trị nhận dạng và URL chính tắc của nội dung, đồng thời giúp mô tả nội dung thông qua siêu dữ liệu.
Mẫu đánh dấu nội dung
Đối tượng đánh dấu nội dung có thể có một mảng đối tượng đánh dấu Hành động, cho phép liên kết nội dung với nhiều đối tượng đánh dấu Hành động. Ví dụ: nội dung có thể có một đối tượng đánh dấu Hành động riêng cho mỗi khu vực.
{
"@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": [
{ <ACTION MARKUP OBJECT 01> },
{ <ACTION MARKUP OBJECT 02> }
],
...
}
Đánh dấu hành động
Đối tượng đánh dấu Hành động mô tả đường liên kết sâu đưa người dùng đến nội dung và cấp truy cập cần thiết đối với nội dung đó. Đối tượng là một thuộc tính (potentialAction
) của đối tượng đánh dấu nội dung.
Có hai cách để chỉ định các hạn chế truy cập:
- Đối với Hành động xem, hãy sử dụng Đối tượng thông số kỹ thuật truy cập hành động.
- Đối với Hành động nghe, hãy sử dụng đối tượng ưu đãi.
Mẫu đánh dấu hành động
Nếu nội dung có nhiều đường liên kết sâu, thì đối tượng đánh dấu Hành động sẽ bao gồm nhiều đối tượng mục tiêu. Ví dụ: đường liên kết sâu của nội dung dành cho iOS có thể khác với đường liên kết sâu trong Android. Ngoài ra, nếu có các quy định hạn chế khác nhau về quyền truy cập tuỳ theo khu vực và khoảng thời gian, thì một đối tượng đánh dấu Hành động có thể có nhiều đối tượng thông số kỹ thuật về Quyền truy cập hành động hoặc đối tượng ưu đãi, như minh hoạ trong các mẫu bên dưới.
Mẫu đối tượng đánh dấu Hành động cho Hành động xem:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Mẫu đối tượng đánh dấu hành động cho Hành động nghe:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Mục tiêu
Đối tượng mục tiêu cung cấp dữ liệu liên kết của một đường liên kết sâu đến nhiều nền tảng của Google. Đối tượng là một thuộc tính (target
) của Đối tượng đánh dấu Hành động.
Ví dụ về mục tiêu
Nếu nội dung có nhiều đường liên kết sâu dựa trên nền tảng, hãy tạo nhiều đối tượng đích để cung cấp các mối liên kết khác nhau. Ví dụ: đường liên kết sâu của nội dung đến Chromecast có thể khác với đường liên kết sâu của các nền tảng khác như trong ví dụ dưới đây.
Ví dụ về đối tượng mục tiêu (cơ bản):
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/my_favorite_movie?autoplay=true",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
}
Ví dụ về đối tượng mục tiêu có 2 đường liên kết sâu:
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/my_favorite_movie?autoplay=true",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/cast/my_favorite_movie?autoplay=true",
"actionPlatform": [
"http://schema.googleapis.com/GoogleVideoCast"
]
}
]
Thông số kỹ thuật về quyền truy cập hành động
Đối tượng thông số kỹ thuật về quyền truy cập vào hành động mô tả yêu cầu về quyền truy cập vào
dựa trên khu vực và khoảng thời gian. Đối tượng là một thuộc tính,
actionAccessibilityRequirement
trong tổng số
Đối tượng đánh dấu hành động.
category
của đối tượng có thể là bất kỳ giá trị nào sau đây:
nologinrequired
free
subscription
Để mô tả thông tin chi tiết về gói thuê bao, hãy tạo một Đối tượng gói thuê bao nội dung nghe nhìn. Nếu nội dung yêu cầu mua thêm đối với người đăng ký, hãy sử dụng đối tượng ưu đãi để chỉ định giá.
externalsubscription
Để mô tả thông tin chi tiết về gói thuê bao, hãy tạo một Đối tượng gói thuê bao nội dung nghe nhìn. Nếu nội dung yêu cầu mua thêm đối với người đăng ký, hãy sử dụng đối tượng ưu đãi để chỉ định giá.
rental
Sử dụng đối tượng ưu đãi để chỉ định giá.
purchase
Sử dụng đối tượng ưu đãi để chỉ định giá.
Đăng ký nội dung nghe nhìn
Đối tượng gói thuê bao nội dung nghe nhìn mô tả thông tin chi tiết về gói thuê bao cần thiết
cho nội dung. Đối tượng là một thuộc tính requiresSubscription
của một
Đối tượng thông số kỹ thuật truy cập hành động. Đây là
bắt buộc nếu actionAccessibilityRequirement.category
là subscription
hoặc
externalSubscription
và gói thuê bao của bạn bao gồm nhiều
gói hoặc cấp hoặc có hỗ trợ tiện ích bổ sung. Không bao gồm mã này nếu
gói thuê bao có một bậc và cấp quyền truy cập vào tất cả nội dung trong danh mục của bạn.
Ví dụ về gói thuê bao nội dung nghe nhìn
Ví dụ về đối tượng gói thuê bao nội dung nghe nhìn:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Lời đề nghị
Đối tượng ưu đãi mô tả giá liên kết với nội dung. Đối tượng là một thuộc tính (expectsAcceptanceOf
) của các đối tượng sau:
- Đối với Hành động xem, Đối tượng thông số kỹ thuật truy cập hành động.
- Đối với Hành động nghe, đây là một đối tượng đánh dấu Hành động.
Ví dụ về ưu đãi
Hành động xem chỉ định thuộc tính expectsAcceptanceOf
trong
Đối tượng thông số kỹ thuật truy cập hành động:
"potentialAction":{
"@type":"WatchAction",
"target":{
"@type":"EntryPoint",
"urlTemplate":"http://www.example.com/my_favorite_movie?autoplay=true",
"actionPlatform":[ "http://schema.org/DesktopWebPlatform" ]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "purchase",
"availabilityStarts": "2019-01-01T00:00Z",
"availabilityEnds": "2019-12-31T00:00Z",
"eligibleRegion": {
"@type": "Country",
"name": "US"
},
"expectsAcceptanceOf": {
"@type": "Offer",
"price": 7.99,
"priceCurrency": "USD",
"seller": {
"@type": "Organization",
"name": "My example seller"
}
}
}
}
Thao tác nghe chỉ định trực tiếp thuộc tính expectsAcceptanceOf
trong đối tượng đánh dấu Hành động:
"potentialAction":{
"@type":"ListenAction",
"target":{
"@type":"EntryPoint",
"urlTemplate":"http://www.example.com/playlist/top_pop_songs?autoplay=true",
"actionPlatform":[ "http://schema.org/DesktopWebPlatform" ]
},
"expectsAcceptanceOf":{
"@type": "Offer",
"eligibleRegion": {
"@type":"Country",
"name":"US"
},
"category": "subscription",
"name": "Example Music",
"price": 9.99,
"priceCurrency": "USD",
"seller": {
"@type": "Organization",
"name": "My example seller",
"sameAs": "http://www.example.com"
}
}
}
Bài đăng có hình ảnh
Đối tượng hình ảnh mô tả hình ảnh liên kết với nội dung.
Sau đây là các yêu cầu đối với hình ảnh:
- Đối với Hành động đồng hồ, hãy cung cấp hình ảnh có độ phân giải cao (tối thiểu 140x210 pixel) với tỷ lệ khung hình 2:3.
- Hình ảnh phải ở định dạng
.jpg
hoặc.png
.
- Hình ảnh phải ở định dạng
- Đối với tính năng Listen Actions, hãy cung cấp hình ảnh có độ phân giải cao (tối thiểu 300x300 pixel) với tỷ lệ khung hình 1x1.
- Bạn nên sử dụng kích thước từ 600x600 pixel trở lên.
- Hình ảnh phải ở định dạng
.jpg
,.png
hoặc.gif
.
- URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục.
- Bạn phải có quyền sử dụng hình ảnh này và cho phép hình ảnh đó xuất hiện trên các thiết bị và sản phẩm của Google.
- Hình ảnh không được chứa các nội dung sau:
- Hình ảnh bị mờ, vỡ nét, bị xoay hoặc có chất lượng kém.
- Ảnh không được cấp phép hoặc ảnh trên kho ảnh.
- Ảnh khoả thân.
- Nội dung bất hợp pháp.
- Khi bạn cập nhật
MusicPlaylist
, hãy cập nhật hình ảnh để phản ánh nội dung mới.
Ví dụ về hình ảnh
"image": {
"@type": "ImageObject",
"contentUrl" : "http://www.example.com/artist/my_favorite_artist/1x1/photo1.jpg",
"dateModified" : "2019-01-05T22:11:33+00:00",
"regionsAllowed" : ["US","UK","MX"]
}
Ví dụ về nguồn cấp dữ liệu
Các ví dụ sau đây minh hoạ sự khác biệt về cấu trúc nguồn cấp dữ liệu giữa Hành động xem và Hành động nghe.
Ví dụ về Hành động xem
{
"@context": "http://schema.org",
"@type": "DataFeed",
"dateModified": "2018-07-20T00:44:51Z",
"dataFeedElement": [
{
"@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",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"availabilityStarts": "2018-07-21T10:35:29Z",
"availabilityEnds": "2019-10-21T10:35:29Z",
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "CA"
}
],
}
},
"sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
"releasedEvent": {
"@type": "PublicationEvent",
"startDate": "2008-01-20",
"location": {
"@type": "Country",
"name": "US"
}
},
"description": "This is my favorite movie.",
"actor": [
{
"@type": "Person",
"name": "John Doe",
"sameAs": "https://en.wikipedia.org/wiki/John_Doe"
},
{
"@type": "Person",
"name": "Jane Doe",
"sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
}
],
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "IMDB_ID",
"value": "tt0123456"
}
]
}
]
}
Ví dụ về Hành động nghe
{
"@context": "http://schema.org",
"@type": "DataFeed",
"dateModified": "2018-07-20T00:44:51Z",
"dataFeedElement": [
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicGroup",
"@id":"http://www.example.com/artist/my_favorite_artist/",
"url":"http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist",
"sameAs":"https://en.wikipedia.org/wiki/my_favorite_artist",
"description":"This is my favorite pop music artist.",
"potentialAction": {
"@type":"ListenAction",
"target": {
"@type":"EntryPoint",
"urlTemplate":"http://www.example.com/artist/my_favorite_artist?autoplay=true",
"actionPlatform":[
"http://schema.org/DesktopWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.googleapis.com/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"expectsAcceptanceOf":{
"@type":"Offer",
"category":"subscription",
"eligibleRegion": {
"@type":"Country",
"name":"US"
},
"price": 8.99,
"priceCurrency": "USD"
}
},
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/artist_mix/my_favorite_artist/",
"url":"http://www.example.com/artist_mix/my_favorite_artist/",
"name":"My Favorite Artist Mix",
"description":"A mix of music similar to My Favorite Artist",
"potentialAction":{
"@type":"ListenAction",
"target": {
"@type":"EntryPoint",
"urlTemplate":"http://www.example.com/artist_mix/my_favorite_artist?autoplay=true",
"actionPlatform":[
"http://schema.org/DesktopWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.googleapis.com/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"expectsAcceptanceOf":{
"@type":"Offer",
"category":"free",
"eligibleRegion": {
"@type":"Country",
"name":"US"
}
}
}
}
}
]
}