Il feed Azioni multimediali è un oggetto JSON che contiene un insieme di entità. Un'entità è un oggetto schema.org che rappresenta un elemento nel tuo catalogo: una puntata TV, una serie TV, un film, una canzone, un album e altro ancora.
![](https://developers-dot-devsite-v2-prod.appspot.com/actions/media/images/image-media-actions-29.jpg?authuser=7&hl=it)
Struttura del feed
Le azioni di visualizzazione e quelle di ascolto hanno strutture dei feed diverse.
Le azioni di visualizzazione hanno la seguente gerarchia: |
Le azioni di ascolto hanno la seguente gerarchia: |
Busta del feed di dati
Una busta 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 catalogo.
Una busta del feed di dati supporta le seguenti proprietà:
Proprietà | Tipo | Descrizione |
---|---|---|
@context |
URL | Obbligatorio - Impostato su http://schema.org |
@type |
Testo | Obbligatorio: imposta su DataFeed . |
dateModified |
DateTime | Obbligatorio: la data e l'ora dell'ultima modifica del feed, in formato ISO 8601 (incluso il fuso orario). |
dataFeedElement |
Cosa | Obbligatorio: le entità del tuo catalogo di contenuti multimediali. |
Modello busta 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 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 descrivere i contenuti tramite i metadati.
Modello di markup dei contenuti
Un oggetto di markup dei contenuti può avere un array di oggetti di markup Azione, che consente di associare i contenuti a più oggetti di markup Action. Ad esempio, i contenuti possono avere un oggetto di markup Action diverso per ogni 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 di 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 di visualizzazione, utilizza un Oggetto specifica dell'accesso alle azioni.
- Per le Azioni di ascolto, utilizza un oggetto offer.
Modello di markup dell'azione
Se i contenuti hanno più link diretti, un oggetto di markup Azione include più oggetti target. Ad esempio, il link diretto dei contenuti per iOS potrebbe essere diverso dal link diretto per Android. Inoltre, se sono presenti restrizioni di accesso diverse in base alle regioni e ai periodi di tempo, un oggetto di markup Action può avere più oggetti di specifica di accesso all'azione, oppure oggetti offer, come illustrato nei modelli seguenti.
Modello di oggetto di markup delle azioni per le azioni di visualizzazione:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Modello di oggetto di markup delle 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 Azione.
Esempio di targeting
Se i contenuti hanno più link diretti basati sulle 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 i link diretti, come mostrato nell'esempio riportato di seguito.
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 di Action Access
Un oggetto specifica di accesso all'azione descrive il requisito di accesso per
in base alla regione e al periodo di tempo. L'oggetto è una proprietà,
actionAccessibilityRequirement
, di un
Oggetto markup azione:
Il valore category
dell'oggetto può essere:
nologinrequired
free
subscription
Per descrivere i dettagli dell'abbonamento, crea un Oggetto abbonamento a contenuti multimediali. Se i contenuti richiedono un acquisto aggiuntivo per gli abbonati, usa offer object per specificare il prezzo.
externalsubscription
Per descrivere i dettagli dell'abbonamento, crea un Oggetto abbonamento a contenuti multimediali. Se i contenuti richiedono un acquisto aggiuntivo per gli abbonati, usa offer object per specificare il prezzo.
rental
Utilizza un offer object per specificare il prezzo.
purchase
Utilizza un offer object 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 specifica dell'accesso alle azioni. Questo è
obbligatorio se actionAccessibilityRequirement.category
è subscription
o
externalSubscription
e la tua offerta di abbonamento include più
di pacchetti o livelli oppure prevede l'assistenza di componenti aggiuntivi. Non includerlo se
l'abbonamento è a un livello e dà accesso a tutti i contenuti del catalogo.
Esempio di abbonamento a contenuti multimediali
Esempio di oggetto abbonamento a 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 offer descrive il prezzo associato ai contenuti. L'oggetto è una proprietà (expectsAcceptanceOf
) dei seguenti oggetti:
- Per le Azioni di visualizzazione, viene Oggetto specifica dell'accesso alle azioni.
- Per le azioni di ascolto, un oggetto di markup delle azioni.
Esempio di offerta
Le azioni di visualizzazione specificano la proprietà expectsAcceptanceOf
nel
Oggetto specifica dell'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 di markup dell'azione:
"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 di visualizzazione, fornisci un'immagine ad alta risoluzione (minimo 140 x 210 pixel) con proporzioni 2:3.
- L'immagine deve essere nel formato
.jpg
o.png
.
- L'immagine deve essere nel formato
- Per le Azioni di ascolto, fornisci un'immagine ad alta risoluzione (minimo 300 x 300 pixel) con proporzioni 1 x 1.
- Le dimensioni consigliate sono 600 x 600 pixel o superiori.
- L'immagine deve essere nel formato
.jpg
,.png
o.gif
.
- L'URL dell'immagine deve poter essere sottoposto a scansione e indicizzazione.
- Devi disporre dei diritti per utilizzare l'immagine e consentirne la visualizzazione sui dispositivi e sulle proprietà Google.
- L'immagine non deve contenere quanto segue:
- Immagine sfocata, pixelata, ruotata o di scarsa qualità.
- Foto di stock o senza licenza.
- Nudità.
- Contenuti illegali.
- Quando aggiorni
MusicPlaylist
, aggiorna la relativa immagine in modo che riflettano 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
I seguenti esempi mostrano la differenza nella struttura del feed tra Azioni sull'orologio e Azioni di ascolto.
Esempio di Azioni sull'orologio
{
"@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"
}
}
}
}
}
]
}