Medya İşlemleri feed'i, öğe koleksiyonunu içeren bir JSON nesnesidir. Varlık, kataloğunuzdaki bir öğeyi (TV bölümü, TV dizisi, film, şarkı, albüm vb.) temsil eden bir schema.org nesnesidir.
Feed yapısı
İzleme İşlemleri ve Dinleme İşlemleri farklı feed yapılarına sahiptir.
İzleme İşlemleri aşağıdaki hiyerarşiye sahiptir: |
Dinleme işlemleri aşağıdaki hiyerarşiye sahiptir: |
Veri feed'i zarfı
Veri feed'i zarfı, Medya İşlemleri feed'indeki en üst düzey nesnedir. Nesne, kataloğunuzdaki tüm içeriği temsil eden bir içerik işaretleme nesneleri (varlıklar) dizisi içerir.
Veri feed'i zarfı aşağıdaki özellikleri destekler:
Özellik | Tür | Açıklama |
---|---|---|
@context |
URL | Zorunlu: http://schema.org olarak ayarlayın |
@type |
Metin | Zorunlu: DataFeed olarak ayarlayın. |
dateModified |
DateTime | Gerekli: Feed'in ISO 8601 biçiminde (saat dilimi dahil) son değiştirilme tarihi ve saati. |
dataFeedElement |
Thing alt türü | Zorunlu: Medya kataloğunuzun varlıkları. |
Veri feed'i zarf şablonu
{
"@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> },
...
]
}
İçerik işaretleme
İçerik işaretleme nesnesi, kataloğunuzdaki tek bir varlığı (film, TV bölümü, TV dizisi, şarkı, albüm, radyo istasyonu vb.) temsil eder. Nesne, içeriğin tanımlayıcısını ve standart URL'sini içerir ve meta veriler aracılığıyla içeriğin açıklanmasına yardımcı olur.
İçerik işaretleme şablonu
Bir içerik işaretleme nesnesi, içeriğin birden fazla İşlem işaretleme nesnesiyle ilişkilendirilmesine olanak tanıyan bir İşlem işaretleme nesneleri dizisine sahip olabilir. Örneğin, içeriğin her bölge için farklı bir İşlem işaretleme nesnesi olabilir.
{
"@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> }
],
...
}
İşlem işaretleme
İşlem işaretleme nesnesi, kullanıcıları içeriğe ve içerik için gereken erişim düzeyine yönlendiren derin bağlantıyı açıklar. Nesne, içerik işaretleme nesnesinin özelliğidir (potentialAction
).
Erişim kısıtlamalarını belirtmenin iki yolu vardır:
- İzleme İşlemleri için İşlem erişim spesifikasyonu nesnesi.
- Dinleme İşlemleri için bir teklif nesnesi kullanın.
İşlem işaretleme şablonu
İçerikte birden fazla derin bağlantı varsa İşlem işaretleme nesnesi birden çok hedef nesne içerir. Örneğin, içeriğin iOS için derin bağlantısı, Android derin bağlantısından farklı olabilir. Ayrıca, bölgelere ve zaman aralıklarına bağlı olarak farklı erişim kısıtlamaları varsa bir İşlem işaretleme nesnesi, aşağıdaki şablonlarda gösterildiği gibi birden fazla İşlem erişim spesifikasyonu nesnesi veya teklif nesnesine sahip olabilir.
İzleme İşlemleri için işlem işaretleme nesnesi şablonu:
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
Dinleme İşlemleri için işlem işaretleme nesnesi şablonu:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
Hedef
Hedef nesne, bir derin bağlantının çeşitli Google platformları ile eşlenmesini sağlar. Nesne, bir İşlem işaretleme nesnesinin özelliğidir (target
).
Hedef örneği
İçerikte platformlara bağlı olarak birden fazla derin bağlantı varsa farklı eşlemeler sağlamak için birden çok hedef nesne oluşturun. Örneğin, içeriğin Chromecast için derin bağlantısı diğer platformların derin bağlantıları eklemeniz gerekir.
Hedef nesne örneği (temel):
"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"
]
}
İki derin bağlantılı hedef nesne örneği:
"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"
]
}
]
İşlem erişimi teknik özellikleri
Bir "İşlem erişim spesifikasyonu" nesnesi,
bölgeye ve döneme göre belirli içerikler oluşturabilirsiniz. Nesne bir özellikse
actionAccessibilityRequirement
,
İşlem işaretleme nesnesi.
Nesnenin category
özelliği aşağıdakilerden herhangi biri olabilir:
nologinrequired
free
subscription
Aboneliğin ayrıntılarını açıklamak için Medya aboneliği nesnesi. Eğer İçerik, aboneler için ek bir satın alma işlemi gerektiriyorsa offer nesnesini kullanın.
externalsubscription
Aboneliğin ayrıntılarını açıklamak için Medya aboneliği nesnesi. Eğer İçerik, aboneler için ek bir satın alma işlemi gerektiriyorsa offer nesnesini kullanın.
rental
Bir offer nesnesini kullanın.
purchase
Bir offer nesnesini kullanın.
Medya aboneliği
Bir medya aboneliği nesnesi, gerekli aboneliğin ayrıntılarını açıklar
tercih eder. Nesne, requiresSubscription
özelliği
İşlem erişim spesifikasyonu nesnesi. Bu
actionAccessibilityRequirement.category
, subscription
veya
externalSubscription
ve abonelik teklifinizde birden fazla
ya da eklenti desteğine sahip
olmamalıdır.
Abonelik tek katmanlıdır ve kataloğunuzdaki tüm içeriklere erişim sunar.
Medya aboneliği örneği
Medya aboneliği nesnesi örneği:
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
Teklif
Teklif nesnesi, içerikle ilişkili fiyatı açıklar. Nesne şu nesnelerin özelliğidir (expectsAcceptanceOf
):
- İzleme İşlemleri için İşlem erişim spesifikasyonu nesnesi.
- Listen Actions için bir İşlem işaretleme nesnesi.
Teklif örneği
İzleme İşlemleri, expectsAcceptanceOf
özelliğini
İşlem erişim spesifikasyonu nesnesi:
"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"
}
}
}
}
Listen Actions, expectsAcceptanceOf
özelliğini doğrudan İşlem işaretleme nesnesinde belirtir:
"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"
}
}
}
Resim
Resim nesnesi, içerikle ilişkili resmi tanımlar.
Resim koşulları şunlardır:
- İzleme İşlemleri için 2:3 en boy oranına sahip yüksek çözünürlüklü bir resim (en az 140x210 piksel) sağlayın.
- Resim
.jpg
veya.png
biçiminde olmalıdır.
- Resim
- Dinleme İşlemleri için 1x1 en boy oranına sahip yüksek çözünürlüklü bir resim (en az 300x300 piksel) sağlayın.
- 600x600 piksel veya daha büyük boyutlar önerilir.
- Resim
.jpg
,.png
veya.gif
biçiminde olmalıdır.
- Resmin URL'si taranabilir ve dizine eklenebilir olmalıdır.
- Resmi kullanma hakkına sahip olmanız ve resmin Google cihazları ile mülklerinde gösterilmesine izin vermeniz gerekir.
- Resim şunları içermemelidir:
- Bulanık, piksellenmiş, döndürülmüş veya düşük kaliteli resim.
- Lisanssız veya stok fotoğraf.
- Çıplaklık.
- Yasa dışı içerik.
MusicPlaylist
uygulamasını güncellediğinizde görselini, yeni içeriği yansıtacak şekilde güncelleyin.
Resim örneği
"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"]
}
Feed örnekleri
Aşağıdaki örnekler, feed yapısı arasındaki farkın nasıl ortaya çıktığını gösterir: İzleme İşlemleri ve Dinleme İşlemleri.
İzleme İşlemleri örneği
{
"@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"
}
]
}
]
}
Dinleme İşlemleri örneği
{
"@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"
}
}
}
}
}
]
}