Feed Tindakan Media adalah objek JSON yang berisi kumpulan entitas. Entity 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.
Tindakan Tonton memiliki hierarki berikut: |
Tindakan Memproses memiliki hierarki berikut: |
Amplop feed data
Amplop feed data adalah objek level teratas di feed Tindakan Media. Objek ini berisi array objek markup konten (entitas) yang mewakili semua konten dalam katalog Anda.
Amplop 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 yang 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 dan membantu mendeskripsikan konten melalui metadata.
Template markup konten
Objek markup konten dapat memiliki array Objek markup Action, yang memungkinkan konten dikaitkan dengan beberapa objek markup Action. 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 adalah properti (potentialAction
) dari objek markup konten.
Ada dua cara untuk menentukan pembatasan akses:
- Untuk Tindakan Menonton, 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 pembatasan akses yang berbeda berdasarkan wilayah dan periode waktu, objek markup Action dapat memiliki beberapa objek spesifikasi akses Action, atau objek penawaran, seperti yang ditampilkan dalam template di bawah ini.
Template objek markup tindakan untuk Tindakan Tonton:
"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 Dengarkan:
"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 adalah properti (target
) dari objek markup Action.
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 yang ada di platform lain deep link, seperti yang ditunjukkan dalam 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 periode waktu. Objek adalah properti,
actionAccessibilityRequirement
, dari
Objek markup tindakan.
category
objek dapat berupa salah satu dari hal berikut:
nologinrequired
free
subscription
Untuk menjelaskan detail langganan, buat Objek langganan media. Jika konten memerlukan pembelian tambahan untuk pelanggan, gunakan offer object untuk menentukan harga.
externalsubscription
Untuk menjelaskan detail langganan, buat Objek langganan media. Jika konten memerlukan pembelian tambahan untuk pelanggan, gunakan offer object untuk menentukan harga.
rental
Gunakan offer object untuk menentukan harga.
purchase
Gunakan offer object untuk menentukan harga.
Langganan media
Objek langganan media menjelaskan detail langganan yang diperlukan
untuk konten. Objek adalah properti, requiresSubscription
, dari
Objek spesifikasi akses tindakan. Ini adalah
diperlukan jika actionAccessibilityRequirement.category
adalah subscription
atau
externalSubscription
dan penawaran langganan Anda mencakup beberapa
paket atau tingkatan, atau memiliki
dukungan add-on. Jangan sertakan ini jika
langganan bersifat 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 adalah properti (expectsAcceptanceOf
) dari objek berikut:
- Untuk Tindakan Menonton, Objek spesifikasi akses tindakan.
- Untuk Listen Actions, objek markup Action.
Contoh penawaran
Tindakan Menonton menentukan properti expectsAcceptanceOf
di
Objek spesifikasi akses tindakan:
"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 Proses menentukan properti expectsAcceptanceOf
langsung di Objek markup tindakan:
"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 Watch Actions, 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 ukuran 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-hal berikut:
- Gambar buram, pecah, diputar, atau berkualitas buruk.
- Foto stok atau tanpa lisensi.
- Ketelanjangan.
- Konten ilegal.
- Saat Anda mengupdate
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 dalam struktur feed antara Tindakan Menonton dan Tindakan Mendengarkan.
Contoh Tindakan Menonton
{
"@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 Tindakan Mendengarkan
{
"@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"
}
}
}
}
}
]
}