Il feed Azioni multimediali è un oggetto JSON che contiene una raccolta di entità. Un'entità è un oggetto schema.org che rappresenta un elemento del tuo catalogo: una puntata TV, una serie TV, un film, un brano, un album e così via.

Struttura del feed
Le azioni di visualizzazione e di ascolto hanno strutture di feed diverse.
Le azioni relative alla visione hanno la seguente gerarchia: |
Le azioni di ascolto hanno la seguente gerarchia: |
Intestazione del feed di dati
Un'intestazione del feed di dati è l'oggetto di primo livello nel feed Azioni multimediali. L'oggetto contiene un array di oggetti di markup dei contenuti (entità) che rappresentano tutti i contenuti del tuo catalogo.
Un'intestazione del feed di dati supporta le seguenti proprietà:
Proprietà | Tipo | Descrizione |
---|---|---|
@context |
URL | Obbligatorio: impostato su http://schema.org |
@type |
Testo | Obbligatorio: impostato su DataFeed . |
dateModified |
DateTime | Obbligatorio: la data e l'ora dell'ultima modifica del feed, nel formato ISO 8601 (incluso il fuso orario). |
dataFeedElement |
Cosa | Obbligatorio: le entità del tuo catalogo multimediale. |
Modello di intestazione del feed di dati
{
"@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> },
...
]
}
Markup dei contenuti
Un oggetto di markup dei contenuti rappresenta una singola entità nel tuo catalogo: un film, una puntata di un programma TV, una serie TV, un brano, un album, una stazione radio e così via. L'oggetto contiene l'identificatore e l'URL canonico dei contenuti e aiuta a descriverli tramite i metadata.
Modello di markup dei contenuti
Un oggetto di markup dei contenuti può avere un array di oggetti di markup dell'azione, che consente di associare i contenuti a più oggetti di markup dell'azione. Ad esempio, i contenuti possono avere un oggetto markup di azioni diverso per regione.
{
"@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> }
],
...
}
Markup dell'azione
Un oggetto markup Action descrive il link diretto che indirizza gli utenti ai contenuti e il livello di accesso richiesto per i contenuti. L'oggetto è una proprietà (potentialAction
) di un oggetto di markup dei contenuti.
Esistono due modi per specificare le limitazioni di accesso:
- Per le azioni sullo smartwatch, utilizza un oggetto di specifica di accesso alle azioni.
- Per le azioni di ascolto, utilizza un oggetto offerta.
Modello di markup dell'azione
Se i contenuti hanno più link diretti, un oggetto markup di azioni include più oggetti target. Ad esempio, il link diretto dei contenuti per iOS potrebbe essere diverso da quello per Android. Inoltre, se esistono limitazioni di accesso diverse in base alle regioni e ai periodi di tempo, un oggetto di markup dell'azione può avere più oggetti di specifica di accesso all'azione o oggetti di offerta, come mostrato nei modelli di seguito.
Modello di oggetto di markup di azioni per le azioni sullo smartwatch:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Modello di oggetto di markup di azioni per le azioni di ascolto:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Target
Un oggetto target fornisce la mappatura di un link diretto a varie piattaforme Google. L'oggetto è una proprietà (target
) di un oggetto di markup dell'azione.
Esempio di target
Se i contenuti hanno più link diretti in base alle piattaforme, crea più oggetti target per fornire mappature diverse. Ad esempio, il link diretto dei contenuti per Chromecast potrebbe essere diverso da quello delle altre piattaforme, come mostrato nell'esempio seguente.
Esempio di oggetto target (di base):
"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"
]
}
Esempio di oggetto target con due link diretti:
"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"
]
}
]
Specifica dell'accesso alle azioni
Un oggetto Specifica dell'accesso alle azioni descrive il requisito di accesso per i contenuti in base alla regione e al periodo di tempo. L'oggetto è una proprietà,
actionAccessibilityRequirement
, di un
oggetto di markup dell'azione.
category
dell'oggetto può essere uno dei seguenti:
nologinrequired
free
subscription
Per descrivere i dettagli dell'abbonamento, crea un oggetto Abbonamento multimediale. Se i contenuti richiedono un acquisto aggiuntivo per gli abbonati, utilizza un oggetto Offerta per specificare il prezzo.
externalsubscription
Per descrivere i dettagli dell'abbonamento, crea un oggetto Abbonamento multimediale. Se i contenuti richiedono un acquisto aggiuntivo per gli abbonati, utilizza un oggetto Offerta per specificare il prezzo.
rental
Utilizza un oggetto Offerta per specificare il prezzo.
purchase
Utilizza un oggetto Offerta per specificare il prezzo.
Abbonamento a contenuti multimediali
Un oggetto abbonamento multimediale descrive i dettagli dell'abbonamento richiesto per i contenuti. L'oggetto è una proprietà, requiresSubscription
, di un
oggetto di specifica di accesso alle azioni. Questo valore è obbligatorio se actionAccessibilityRequirement.category
è subscription
o externalSubscription
e l'offerta in abbonamento include più pacchetti o livelli oppure supporta componenti aggiuntivi. Non includerla se il tuo abbonamento è a un livello e consente l'accesso a tutti i contenuti del tuo catalogo.
Esempio di abbonamento a contenuti multimediali
Esempio di oggetto di abbonamento ai contenuti multimediali:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Offerta
Un oggetto offerta descrive il prezzo associato ai contenuti. L'oggetto è una proprietà (expectsAcceptanceOf
) dei seguenti oggetti:
- Per le azioni dell'orologio, un oggetto di specifica di accesso all'azione.
- Per le azioni di ascolto, un oggetto di markup dell'azione.
Esempio di offerta
Azioni su Google TV specificano la proprietà expectsAcceptanceOf
nell'oggetto della specifica di accesso alle azioni:
"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"
}
}
}
}
Le azioni di ascolto specificano la proprietà expectsAcceptanceOf
direttamente nell'oggetto del markup di Action:
"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"
}
}
}
Immagine
Un oggetto immagine descrive l'immagine associata ai contenuti.
I requisiti per l'immagine sono i seguenti:
- Per le azioni sullo smartwatch, fornisci un'immagine ad alta risoluzione (minimo 140 x 210 pixel) con proporzioni 2:3.
- L'immagine deve essere in formato
.jpg
o.png
.
- L'immagine deve essere in formato
- Per le azioni di ascolto, fornisci un'immagine ad alta risoluzione (minimo 300 x 300 pixel) con proporzioni 1 x 1.
- Consigliamo dimensioni minime pari a 600 x 600 pixel.
- L'immagine deve essere in formato
.jpg
,.png
o.gif
.
- L'URL dell'immagine deve essere scansionabile e indicizzabile.
- Devi disporre dei diritti per utilizzare l'immagine e consentirne la visualizzazione su dispositivi e proprietà di Google.
- L'immagine non deve contenere quanto segue:
- Immagine sfocata, pixelata, ruotata o di scarsa qualità.
- Fotografie senza licenza o di stock.
- Nudità.
- Contenuti illegali.
- Quando aggiorni
MusicPlaylist
, aggiorna l'immagine in modo che rifletta i nuovi contenuti.
Esempio di immagine
"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"]
}
Esempi di feed
Gli esempi riportati di seguito mostrano la differenza nella struttura del feed tra le azioni di visualizzazione e le azioni di ascolto.
Esempio di azioni di visualizzazione
{
"@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"
}
]
}
]
}
Esempio di azioni di ascolto
{
"@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"
}
}
}
}
}
]
}