O feed de ações em mídia é um objeto JSON que contém uma coleção de entidades. Uma entidade é um objeto schema.org que representa um item no seu catálogo: um episódio de TV, uma série de TV, um filme, uma música, um álbum e muito mais.

Estrutura do feed
As ações de assistir e ouvir têm estruturas de feed diferentes.
As Ações de assistir a vídeos têm a seguinte hierarquia: |
As Ações de escuta têm a seguinte hierarquia: |
Envelope do feed de dados
Um envelope de feed de dados é o objeto de nível superior no feed de ações de mídia. O objeto contém uma matriz de objetos de marcação de conteúdo (entidades) que representam todo o conteúdo do seu catálogo.
Um envelope de feed de dados oferece suporte às seguintes propriedades:
Propriedade | Tipo | Descrição |
---|---|---|
@context |
URL | Obrigatório: definido como http://schema.org . |
@type |
Texto | Obrigatório: defina como DataFeed . |
dateModified |
DateTime | Obrigatório: é a data e a hora da última modificação do feed no formato ISO 8601 (incluindo o fuso horário). |
dataFeedElement |
Coisa | Obrigatório: as entidades do seu catálogo de mídia. |
Modelo de envelope de feed de dados
{
"@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> },
...
]
}
Marcação de conteúdo
Um objeto de marcação de conteúdo representa uma única entidade no seu catálogo: um filme, um episódio de TV, uma série de TV, uma música, um álbum, uma estação de rádio etc. O objeto contém o identificador e o URL canônico do conteúdo e ajuda a descrever o conteúdo usando metadata.
Modelo de marcação de conteúdo
Um objeto de marcação de conteúdo pode ter uma matriz de objetos de marcação de ação, o que permite que o conteúdo seja associado a vários objetos de marcação de ação. Por exemplo, o conteúdo pode ter um objeto de marcação de ação diferente por região.
{
"@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> }
],
...
}
Marcação de ação
Um objeto de marcação de ação descreve o link direto que leva os usuários ao conteúdo e o nível de acesso necessário para o conteúdo. O objeto é uma propriedade (potentialAction
) de um objeto de marcação de conteúdo.
Há duas maneiras de especificar as restrições de acesso:
- Para Ações de assistir, use um objeto de especificação de acesso a ações.
- Para ações de ouvir, use um objeto de oferta.
Modelo de marcação de ação
Se o conteúdo tiver vários links diretos, um objeto de marcação de ação vai incluir vários objetos de destino. Por exemplo, o link direto do conteúdo para iOS pode ser diferente do link direto para Android. Além disso, se houver diferentes restrições de acesso com base nas regiões e períodos, um objeto de marcação do Action poderá ter vários objetos de especificação de acesso ou de oferta, conforme mostrado nos modelos abaixo.
Modelo de objeto de marcação de ação para ações do YouTube:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Modelo de objeto de marcação de ação para ações de ouvir conteúdo:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Destino
Um objeto de destino fornece o mapeamento de um link direto para várias plataformas do Google. O objeto é uma propriedade (target
) de um objeto de marcação de ação.
Exemplo de destino
Se o conteúdo tiver vários links diretos com base nas plataformas, crie vários objetos de destino para fornecer mapeamentos diferentes. Por exemplo, o link direto do conteúdo para Chromecast pode ser diferente dos links diretos das outras plataformas, conforme mostrado no exemplo abaixo.
Exemplo de um objeto de destino (básico):
"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"
]
}
Exemplo de objeto de destino com dois links diretos:
"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"
]
}
]
Especificação de acesso à ação
Um objeto de especificação de acesso à ação descreve o requisito de acesso ao
conteúdo com base na região e no período. O objeto é uma propriedade,
actionAccessibilityRequirement
, de um
objeto de marcação de ação.
O category
do objeto pode ser uma das seguintes opções:
nologinrequired
free
subscription
Para descrever os detalhes da assinatura, crie um objeto de assinatura de mídia. Se o conteúdo exigir uma compra adicional para os assinantes, use um objeto de oferta para especificar o preço.
externalsubscription
Para descrever os detalhes da assinatura, crie um objeto de assinatura de mídia. Se o conteúdo exigir uma compra adicional para os assinantes, use um objeto de oferta para especificar o preço.
rental
Use um objeto de oferta para especificar o preço.
purchase
Use um objeto de oferta para especificar o preço.
Assinatura de mídia
Um objeto de assinatura de mídia descreve os detalhes da assinatura necessária
para o conteúdo. O objeto é uma propriedade, requiresSubscription
, de um
objeto de especificação de acesso à ação. Isso é
necessário se actionAccessibilityRequirement.category
for subscription
ou
externalSubscription
e sua oferta de assinatura incluir vários
pacotes ou níveis ou tiver suporte a complementos. Não inclua essa informação se a
assinatura tiver um nível e permitir o acesso a todo o conteúdo do seu catálogo.
Exemplo de assinatura de mídia
Exemplo de um objeto de assinatura de mídia:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Oferta
Um objeto de oferta descreve o preço associado ao conteúdo. O objeto é uma propriedade (expectsAcceptanceOf
) dos seguintes objetos:
- Para Ações de assistir, um objeto de especificação de acesso à ação.
- Para ações de ouvir conteúdo, um objeto de marcação de ação.
Exemplo de oferta
As ações de relógio especificam a propriedade expectsAcceptanceOf
no
objeto de especificação de acesso à ação:
"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"
}
}
}
}
As ações de escuta especificam a propriedade expectsAcceptanceOf
diretamente no objeto de marcação de ação:
"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"
}
}
}
Imagem
Um objeto de imagem descreve a imagem associada ao conteúdo.
Os requisitos para a imagem são os seguintes:
- Para as Ações de relógio, forneça uma imagem de alta resolução (mínimo de 140 x 210 pixels) com proporção de 2:3.
- A imagem precisa estar no formato
.jpg
ou.png
.
- A imagem precisa estar no formato
- Para ações de ouvir, forneça uma imagem de alta resolução (mínimo de 300 x 300 pixels) com uma proporção de 1 x 1.
- Recomendamos 600 x 600 pixels ou mais.
- A imagem precisa estar no formato
.jpg
,.png
ou.gif
.
- O URL da imagem precisa ser rastreável e indexável.
- Você precisa ter direitos de uso da imagem e permitir que ela seja exibida em dispositivos e propriedades do Google.
- A imagem não pode conter o seguinte:
- Imagem desfocada, pixelada, girada ou de baixa qualidade.
- Fotografias não licenciadas ou de banco de imagens.
- Nudez.
- Conteúdo ilegal.
- Ao atualizar
MusicPlaylist
, atualize a imagem para refletir o novo conteúdo.
Exemplo de imagem
"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"]
}
Exemplos de feed
Os exemplos a seguir mostram a diferença na estrutura do feed entre as Ações de assistir e as Ações de ouvir.
Exemplo de ação de assistir
{
"@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"
}
]
}
]
}
Exemplo de ações de ouvir conteúdo
{
"@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"
}
}
}
}
}
]
}