Feed Tindakan Media adalah objek JSON yang berisi kumpulan entity. Entitas adalah objek schema.org yang mewakili item dalam katalog Anda: episode TV, serial TV, film, lagu, album, dan lainnya.

Struktur feed
Tindakan Tonton dan Tindakan Dengarkan memiliki struktur feed yang berbeda.
Action Tonton memiliki hierarki berikut: |
Tindakan Dengarkan memiliki hierarki berikut: |
Envelop feed data
Envelop feed data adalah objek tingkat teratas di feed Media Actions. Objek ini berisi array objek markup konten (entitas) yang mewakili semua konten dalam katalog Anda.
Envelop feed data mendukung properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
@context |
URL | Wajib - Tetapkan ke http://schema.org |
@type |
Teks | Wajib - Tetapkan ke DataFeed . |
dateModified |
DateTime | Wajib - Tanggal dan waktu feed terakhir diubah, dalam format ISO 8601 (termasuk zona waktu). |
dataFeedElement |
Thing | Wajib - Entitas katalog media Anda. |
Template amplop feed data
{
"@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 konten
Objek markup konten mewakili satu entitas dalam katalog Anda: film, episode TV, serial TV, lagu, album, stasiun radio, dll. Objek ini berisi ID dan URL kanonis konten serta membantu mendeskripsikan konten melalui metadata.
Template markup konten
Objek markup konten dapat memiliki array Objek markup tindakan, yang memungkinkan konten dikaitkan dengan beberapa objek markup Tindakan. Misalnya, konten dapat memiliki objek markup Action yang berbeda per wilayah.
{
"@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 tindakan
Objek markup Action menjelaskan deep link yang mengarahkan pengguna ke konten dan tingkat akses yang diperlukan untuk konten tersebut. Objek ini adalah properti (potentialAction
) dari objek markup konten.
Ada dua cara untuk menentukan batasan akses:
- Untuk Action Tonton, gunakan Objek spesifikasi akses tindakan.
- Untuk Tindakan Mendengarkan, gunakan objek penawaran.
Template markup tindakan
Jika konten memiliki beberapa deep link, objek markup Action akan menyertakan beberapa objek target. Misalnya, deep link konten untuk iOS mungkin berbeda dengan deep link Android. Selain itu, jika ada batasan akses yang berbeda berdasarkan wilayah dan jangka waktu, objek markup Action dapat memiliki beberapa objek spesifikasi akses Action, atau objek penawaran, seperti yang ditunjukkan dalam template di bawah.
Template objek markup tindakan untuk Watch Action:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Template objek markup tindakan untuk Tindakan Mendengarkan:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Target
Objek target menyediakan pemetaan deep link ke berbagai platform Google. Objek ini adalah properti (target
) dari Objek markup tindakan.
Contoh target
Jika konten memiliki beberapa deep link berdasarkan platform, buat beberapa objek target untuk memberikan pemetaan yang berbeda. Misalnya, deep link konten untuk Chromecast mungkin berbeda dengan deep link platform lainnya, seperti yang ditunjukkan pada contoh di bawah.
Contoh objek target (dasar):
"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"
]
}
Contoh objek target dengan dua deep link:
"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"
]
}
]
Spesifikasi akses tindakan
Objek spesifikasi akses Action menjelaskan persyaratan akses untuk
konten berdasarkan wilayah dan jangka waktu. Objek ini adalah properti,
actionAccessibilityRequirement
, dari
Objek markup tindakan.
category
objek dapat berupa salah satu dari hal berikut:
nologinrequired
free
subscription
Untuk mendeskripsikan detail langganan, buat Objek langganan media. Jika konten memerlukan pembelian tambahan untuk pelanggan, gunakan objek penawaran untuk menentukan harganya.
externalsubscription
Untuk mendeskripsikan detail langganan, buat Objek langganan media. Jika konten memerlukan pembelian tambahan untuk pelanggan, gunakan objek penawaran untuk menentukan harganya.
rental
Gunakan objek penawaran untuk menentukan harga.
purchase
Gunakan objek penawaran untuk menentukan harga.
Langganan media
Objek langganan media menjelaskan detail langganan yang diperlukan
untuk konten. Objek ini adalah properti, requiresSubscription
, dari
Objek spesifikasi akses tindakan. Hal ini
diperlukan jika actionAccessibilityRequirement.category
adalah subscription
atau
externalSubscription
dan penawaran langganan Anda menyertakan beberapa
paket atau tingkat, atau memiliki dukungan add-on. Jangan sertakan ini jika
langganan Anda memiliki satu tingkat dan memberikan akses ke semua konten dalam katalog Anda.
Contoh langganan media
Contoh objek langganan media:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Penawaran
Objek penawaran menjelaskan harga yang terkait dengan konten. Objek ini adalah properti (expectsAcceptanceOf
) dari objek berikut:
- Untuk Action Tonton, objek spesifikasi akses Action.
- Untuk Listen Action, objek markup Action.
Contoh penawaran
Watch Actions menentukan properti expectsAcceptanceOf
dalam
objek spesifikasi akses Action:
"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"
}
}
}
}
Tindakan Dengarkan menentukan properti expectsAcceptanceOf
secara langsung di objek markup 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"
}
}
}
Gambar
Objek gambar menjelaskan gambar yang terkait dengan konten.
Persyaratan untuk gambar adalah sebagai berikut:
- Untuk Action Smartwatch, berikan gambar beresolusi tinggi (minimal 140x210 piksel) dengan rasio aspek 2:3.
- Gambar harus dalam format
.jpg
atau.png
.
- Gambar harus dalam format
- Untuk Listen Actions, berikan gambar beresolusi tinggi (minimal 300x300 piksel) dengan rasio aspek 1x1.
- Sebaiknya gunakan resolusi 600x600 piksel atau lebih tinggi.
- Gambar harus dalam format
.jpg
,.png
, atau.gif
.
- URL gambar harus dapat di-crawl dan diindeks.
- Anda harus memiliki hak untuk menggunakan gambar dan mengizinkan gambar ditampilkan di perangkat dan properti Google.
- Gambar tidak boleh berisi hal berikut:
- Gambar yang buram, pecah, diputar, atau berkualitas buruk.
- Fotografi stok atau tanpa lisensi.
- Ketelanjangan.
- Konten ilegal.
- Saat Anda memperbarui
MusicPlaylist
, perbarui gambarnya untuk mencerminkan konten baru.
Contoh gambar
"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"]
}
Contoh feed
Contoh berikut menampilkan perbedaan struktur feed antara Tindakan Tonton dan Tindakan Dengarkan.
Contoh 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"
}
]
}
]
}
Contoh Listen Actions
{
"@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"
}
}
}
}
}
]
}