Kanał Media Actions to obiekt JSON zawierający zbiór elementów. Element to obiekt schema.org, który reprezentuje element w katalogu: odcinek serialu, serial, film, piosenkę, album itp.

Struktura pliku danych
Działania dotyczące oglądania i słuchania mają różne struktury danych.
Działania dotyczące oglądania mają taką hierarchię: |
Działania dotyczące słuchania mają taką hierarchię: |
Envelopa pliku danych
Opakowanie pliku danych to obiekt najwyższego poziomu w pliku danych Media Actions. Obiekt zawiera tablicę obiektów znaczników treści (elementów), które reprezentują wszystkie treści w katalogu.
Opakowanie pliku danych obsługuje te właściwości:
Właściwość | Typ | Opis |
---|---|---|
@context |
Adres URL | Wymagany – ustaw na http://schema.org |
@type |
Text | Wymagany – ustaw na DataFeed . |
dateModified |
DateTime | Wymagany: data i godzina ostatniej modyfikacji pliku danych w formacie ISO 8601 (w tym strefa czasowa). |
dataFeedElement |
Thing | Wymagany – elementy katalogu multimediów. |
Szablon koperty pliku danych
{
"@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> },
...
]
}
znaczniki treści,
Obiekt znaczników treści reprezentuje pojedynczą jednostkę w katalogu: film, odcinek serialu, serial telewizyjny, utwór, album, stację radiową itp. Obiekt zawiera identyfikator i kanoniczny adres URL treści oraz pomaga opisać treści za pomocą metadata.
Szablon znaczników treści
Obiekt znaczników treści może zawierać tablicę obiektów znaczników działań, co pozwala powiązać treści z wieloma obiektami znaczników działań. Na przykład treści mogą mieć inny obiekt znacznika działania w każdym regionie.
{
"@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> }
],
...
}
Znaczniki działań
Obiekt ActionMarkup opisuje precyzyjny link, który prowadzi użytkowników do treści, oraz poziom dostępu wymagany do wyświetlenia tych treści. Obiekt jest właściwością (potentialAction
) obiektu znaczników treści.
Ograniczenia dostępu można określić na 2 sposoby:
- W przypadku działań na ekranie zegarka użyj obiektu specyfikacji dostępu do działań.
- W przypadku działań związanych ze słuchaniem użyj obiektu oferta.
Szablon znaczników działań
Jeśli treści zawierają wiele linków do treści szczegółowych, obiekt znacznika działania zawiera wiele obiektów docelowych. Na przykład precyzyjny link do treści na iOS może być inny niż precyzyjny link na Androida. Jeśli występują różne ograniczenia dostępu na podstawie regionów i okresów, obiekt Action markup może mieć wiele obiektów specyfikacji dostępu do działania lub obiektów oferty, jak pokazano w poniższych szablonach.
Szablon obiektu znaczników akcji dla działań dotyczących oglądania:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Szablon obiektu znaczników działania dla działań związanych z słuchaniem:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Cel
Obiekt docelowy umożliwia mapowanie precyzyjnego linku na różne platformy Google. Obiekt jest właściwością (target
) obiektu znacznika działania.
Przykład celu
Jeśli treści mają wiele precyzyjnych linków na podstawie platform, utwórz wiele obiektów docelowych, aby zapewnić różne mapowania. Na przykład link do treści na Chromecasta może być inny niż linki do treści na innych platformach, jak pokazano w przykładzie poniżej.
Przykład obiektu docelowego (podstawowy):
"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"
]
}
Przykład obiektu docelowego z 2 precyzyjnymi linkami:
"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"
]
}
]
Specyfikacja dostępu do działania
Obiekt specyfikacji dostępu do działania określa wymagania dotyczące dostępu do treści na podstawie regionu i okresu. Obiekt jest właściwością actionAccessibilityRequirement
obiektu Action markup.
Wartość category
obiektu może być dowolnym z tych elementów:
nologinrequired
free
subscription
Aby opisać szczegóły subskrypcji, utwórz obiekt subskrypcji multimediów. Jeśli treść wymaga dodatkowego zakupu przez subskrybentów, użyj obiektu oferty, aby określić cenę.
externalsubscription
Aby opisać szczegóły subskrypcji, utwórz obiekt subskrypcji multimediów. Jeśli treść wymaga dodatkowego zakupu przez subskrybentów, użyj obiektu oferty, aby określić cenę.
rental
Aby określić cenę, użyj obiektu offer.
purchase
Aby określić cenę, użyj obiektu offer.
Subskrypcja mediów
Obiekt subskrypcji multimediów zawiera szczegóły subskrypcji wymaganej dla treści. Obiekt jest właściwością requiresSubscription
obiektu specyfikacji dostępu do działania. Jest to wymagane, jeśli actionAccessibilityRequirement.category
to subscription
lub externalSubscription
, a Twoja oferta abonamentu obejmuje kilka pakietów lub poziomów lub obsługuje dodatki. Nie podawaj tej informacji, jeśli subskrypcja jest jednopoziomowa i daje dostęp do wszystkich treści w katalogu.
Przykład subskrypcji multimediów
Przykład obiektu subskrypcji mediów:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Oferta
Obiekt oferty opisuje cenę powiązaną z treściami. Obiekt jest właściwością (expectsAcceptanceOf
) tych obiektów:
- W przypadku działań związanych z oglądaniem: obiekt specyfikacji dostępu do działań.
- W przypadku działań związanych ze słuchaniem: obiekt znaczników działania.
Przykład oferty
Działania dotyczące oglądania określają właściwość expectsAcceptanceOf
w obiekcie specyfikacji dostępu do działania:
"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"
}
}
}
}
Czynności dotyczące słuchania określają właściwość expectsAcceptanceOf
bezpośrednio w obiekcie znaczników działania:
"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"
}
}
}
Obraz
Obiekt image opisuje obraz powiązany z treścią.
Wymagania dotyczące obrazu:
- W przypadku działań do obejrzenia prześlij obraz o wysokiej rozdzielczości (co najmniej 140 × 210 pikseli) o współczynniku proporcji 2:3.
- Obraz musi być w formacie
.jpg
lub.png
.
- Obraz musi być w formacie
- W przypadku działań związanych z słuchaniem podaj obraz o wysokiej rozdzielczości (co najmniej 300 x 300 pikseli) o stosunku proporcji 1 x 1.
- Zalecamy użycie rozdzielczości co najmniej 600 × 600 pikseli.
- Obraz musi być w formacie
.jpg
,.png
lub.gif
.
- Adres URL obrazu musi być dostępny do pobrania i zindeksowania.
- Musisz mieć prawa do korzystania z obrazu i zezwalanie na jego wyświetlanie na urządzeniach i usługach Google.
- Obraz nie może zawierać:
- Rozmazany, rozpikselowany, obrócony lub niskiej jakości obraz.
- zdjęcia bez licencji lub zdjęcia stockowe.
- nagość,
- Treści niezgodne z prawem.
- Gdy aktualizujesz
MusicPlaylist
, zaktualizuj obraz, aby odzwierciedlał nową treść.
Przykład obrazu
"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"]
}
Przykłady plików danych
W następujących przykładach widać różnicę w strukturze pliku danych między działaniami dotyczącymi oglądania a słuchania.
Przykład działania dotyczącego oglądania
{
"@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"
}
]
}
]
}
Przykład działania ListenAction
{
"@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"
}
}
}
}
}
]
}