Der Feed für Medienaktionen ist ein JSON-Objekt, das eine Sammlung von Entitäten enthält. Eine Entität ist ein schema.org-Objekt, das einen Artikel in Ihrem Katalog darstellt, z. B. eine TV-Folge, eine TV-Serie, einen Film, einen Titel, ein Album usw.
Feedstruktur
Wiedergabe- und Höraktionen haben unterschiedliche Feedstrukturen.
Watch Actions haben die folgende Hierarchie: |
Anhör-Aktionen haben die folgende Hierarchie: |
Datenfeed-Umschlag
Ein Datenfeed-Umschlag ist das Objekt der obersten Ebene im Media Actions-Feed. Das Objekt enthält ein Array mit Inhalts-Markup-Objekten (Entitäten), die den gesamten Inhalt in Ihrem Katalog darstellen.
Ein Datenfeed-Umschlag unterstützt die folgenden Eigenschaften:
Attribut | Typ | Beschreibung |
---|---|---|
@context |
URL | Erforderlich: auf http://schema.org festlegen |
@type |
Text | Erforderlich: auf DataFeed festlegen. |
dateModified |
DateTime | Erforderlich: Datum und Uhrzeit der letzten Änderung des Feeds im ISO 8601-Format (einschließlich Zeitzone). |
dataFeedElement |
Ding | Erforderlich: die Entitäten Ihres Medienkatalogs |
Umschlagvorlage für Datenfeed
{
"@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> },
...
]
}
Inhalts-Markup
Ein Inhalts-Markup-Objekt repräsentiert ein einzelnes Element in Ihrem Katalog: einen Film, eine TV-Folge, eine TV-Serie, einen Titel, ein Album, einen Radiosender usw. Das Objekt enthält die ID und die kanonische URL des Inhalts und hilft bei der Beschreibung des Inhalts über Metadaten.
Vorlage für das Markup für Inhalte
Ein Inhalts-Markup-Objekt kann ein Array mit Aktions-Markup-Objekten haben. Die Inhalte können so mit mehreren Aktions-Markup-Objekten verknüpft werden. Der Inhalt kann beispielsweise pro Region ein anderes Aktions-Markup-Objekt haben.
{
"@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> }
],
...
}
Aktions-Markup
Ein Aktions-Markup-Objekt beschreibt den Deeplink, über den Nutzer zu den Inhalten gelangen, sowie die dafür erforderliche Zugriffsebene. Das Objekt ist eine Eigenschaft (potentialAction
) eines Inhalts-Markup-Objekts.
Es gibt zwei Möglichkeiten, Zugriffsbeschränkungen festzulegen:
- Verwende für Wiedergabeaktionen einen Aktionsspezifikationsobjekt
- Verwenden Sie für Listenaktionen ein „offer“-Objekt.
Aktions-Markup-Vorlage
Wenn der Inhalt mehrere Deeplinks hat, enthält ein Aktions-Markup-Objekt mehrere Zielobjekte. Beispielsweise kann sich der Deeplink für iOS vom Android-Deeplink unterscheiden. Wenn außerdem je nach Region und Zeitraum unterschiedliche Zugriffsbeschränkungen gelten, kann ein Aktions-Markup-Objekt mehrere Aktions-Zugriffsspezifikationsobjekte oder Angebotsobjekte haben, wie in den folgenden Vorlagen dargestellt.
Aktions-Markup-Objektvorlage für Watch Actions:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Aktions-Markup-Objektvorlage für Listenaktionen:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Ziel
Ein Zielobjekt ermöglicht die Zuordnung eines Deeplinks zu verschiedenen Google-Plattformen. Das Objekt ist eine Eigenschaft (target
) eines Markup-Objekts für die Aktion.
Beispiel für Ziel
Wenn der Inhalt mehrere Deeplinks basierend auf den Plattformen hat, erstellen Sie mehrere Zielobjekte für unterschiedliche Zuordnungen. Beispielsweise kann sich der Deeplink für Chromecast des Inhalts von dem für die anderen Plattformen unterscheiden. wie im Beispiel unten dargestellt.
Beispiel für ein Zielobjekt (einfach):
"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"
]
}
Beispiel für ein Zielobjekt mit zwei Deeplinks:
"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"
]
}
]
Aktionszugriffsspezifikation
Ein Aktionszugriffsspezifikationsobjekt beschreibt die Zugriffsanforderung für die
basierend auf der Region und dem Zeitraum. Das Objekt ist eine Eigenschaft,
actionAccessibilityRequirement
von einem
Aktions-Markup-Objekt.
Der category
des Objekts kann Folgendes sein:
nologinrequired
free
subscription
Um die Details des Abos zu beschreiben, erstellen Sie einen Medienaboobjekt Wenn der Inhalt einen zusätzlichen Kauf erfordert, verwenden Sie ein offers um den Preis anzugeben.
externalsubscription
Um die Details des Abos zu beschreiben, erstellen Sie einen Medienaboobjekt Wenn der Inhalt einen zusätzlichen Kauf erfordert, verwenden Sie ein offers um den Preis anzugeben.
rental
Verwenden Sie offers um den Preis anzugeben.
purchase
Verwenden Sie offers um den Preis anzugeben.
Medienabo
Ein Medienaboobjekt beschreibt die Details des erforderlichen Abos
nach Inhalten suchen. Das Objekt ist eine Eigenschaft (requiresSubscription
) eines
Aktionsspezifikationsobjekt. Dies ist
erforderlich, wenn actionAccessibilityRequirement.category
entweder subscription
oder
externalSubscription
und Ihr Aboangebot umfasst mehrere
Pakete oder Stufen
oder Add-on-Unterstützung bietet. Geben Sie dies nicht an, wenn Ihr
ist ein einstufiges Abo, das Zugriff auf alle Inhalte in Ihrem Katalog bietet.
Beispiel für ein Medienabo
Beispiel für ein Medienaboobjekt:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Angebot
Ein Angebotsobjekt beschreibt den mit dem Inhalt verbundenen Preis. Das Objekt ist eine Eigenschaft (expectsAcceptanceOf
) der folgenden Objekte:
- Bei Wiedergabeaktionen Aktionsspezifikationsobjekt
- Bei Listenaktionen ein Aktions-Markup-Objekt
Angebotsbeispiel
Watch Actions geben die Eigenschaft expectsAcceptanceOf
in der
Aktionsspezifikationsobjekt:
"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"
}
}
}
}
Bei Listenaktionen wird das Attribut expectsAcceptanceOf
direkt im Aktions-Markup-Objekt angegeben:
"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"
}
}
}
Bild
Ein image-Objekt beschreibt das mit dem Inhalt verknüpfte Bild.
Für das Bild gelten die folgenden Anforderungen:
- Für Wiedergabeaktionen sollten Sie ein hochauflösendes Bild (mindestens 140 x 210 Pixel) mit einem Seitenverhältnis von 2:3 verwenden.
- Das Bild muss das Format
.jpg
oder.png
haben.
- Das Bild muss das Format
- Stellen Sie für Anhör-Aktionen ein hochauflösendes Bild (mindestens 300 x 300 Pixel) mit einem Seitenverhältnis von 1 x 1 bereit.
- Wir empfehlen eine Auflösung von 600 x 600 Pixeln oder höher.
- Das Bild muss das Format
.jpg
,.png
oder.gif
haben.
- Die Bild-URL muss gecrawlt und indexiert werden können.
- Sie müssen berechtigt sein, das Bild zu verwenden, und zulassen, dass es auf Geräten und in Produkten von Google angezeigt wird.
- Das Bild darf Folgendes nicht enthalten:
<ph type="x-smartling-placeholder">
- </ph>
- Unscharfe, pixelige, gedrehte oder qualitativ minderwertige Bilder.
- Nicht lizenzierte Fotos oder Stockfotos.
- Nacktheit.
- Illegale Inhalte
- Aktualisieren Sie beim Aktualisieren von
MusicPlaylist
das zugehörige Bild, um den neuen Inhalt widerzuspiegeln.
Bildbeispiel
"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"]
}
Feedbeispiele
Die folgenden Beispiele zeigen den Unterschied in der Feedstruktur zwischen Wiedergabe- und Zuhör-Aktionen
Beispiel für Watch Actions
{
"@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"
}
]
}
]
}
Beispiel für Anhör-Aktionen
{
"@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"
}
}
}
}
}
]
}