ฟีด Media Actions เป็นออบเจ็กต์ JSON ที่มีคอลเล็กชันเอนทิตี เอนทิตีคือออบเจ็กต์ของ schema.org ที่แสดงถึงรายการในแคตตาล็อก เช่น ตอนของรายการทีวี ซีรีส์ ภาพยนตร์ เพลง อัลบั้ม และอื่นๆ
โครงสร้างฟีด
การดำเนินการ "ดู" และ "การฟัง" มีโครงสร้างฟีดแตกต่างกัน
การดำเนินการในการรับชมมีลำดับชั้นดังต่อไปนี้ |
การดำเนินการของการฟังมีลำดับชั้นดังต่อไปนี้ |
เอนเวโลปฟีดข้อมูล
เอนเวโลปฟีดข้อมูลเป็นออบเจ็กต์ระดับบนสุดในฟีดการดำเนินการสื่อ ออบเจ็กต์ดังกล่าวมีอาร์เรย์ของออบเจ็กต์มาร์กอัปเนื้อหา (เอนทิตี) ที่แสดงเนื้อหาทั้งหมดในแคตตาล็อกของคุณ
เอนเวโลปฟีดข้อมูลรองรับพร็อพเพอร์ตี้ต่อไปนี้
พร็อพเพอร์ตี้ | ประเภท | คำอธิบาย |
---|---|---|
@context |
URL | ต้องระบุ - ตั้งค่าเป็น http://schema.org |
@type |
Text | ต้องระบุ - ตั้งค่าเป็น DataFeed |
dateModified |
DateTime | ต้องระบุ - วันที่และเวลาที่แก้ไขล่าสุดของฟีดในรูปแบบ ISO 8601 (รวมเขตเวลา) |
dataFeedElement |
Thing | ต้องระบุ - เอนทิตีของแคตตาล็อกสื่อ |
เทมเพลตเอนเวโลปฟีดข้อมูล
{
"@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> },
...
]
}
มาร์กอัปเนื้อหา
ออบเจ็กต์มาร์กอัปเนื้อหาแสดงถึงเอนทิตีเดียวในแคตตาล็อก ได้แก่ ภาพยนตร์ ตอนรายการทีวี ซีรีส์ เพลง อัลบั้ม สถานีวิทยุ ฯลฯ ออบเจ็กต์ดังกล่าวมีตัวระบุและ Canonical URL ของเนื้อหา และช่วยอธิบายเนื้อหาผ่านข้อมูลเมตา
เทมเพลตมาร์กอัปเนื้อหา
ออบเจ็กต์มาร์กอัปเนื้อหาอาจมีอาร์เรย์ของออบเจ็กต์มาร์กอัปการดำเนินการ ซึ่งทำให้เนื้อหาเชื่อมโยงกับออบเจ็กต์มาร์กอัปการดำเนินการได้หลายรายการ เช่น เนื้อหาอาจมีออบเจ็กต์มาร์กอัปการดำเนินการที่แตกต่างกันในแต่ละภูมิภาค
{
"@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> }
],
...
}
มาร์กอัปการดำเนินการ
ออบเจ็กต์มาร์กอัปการดำเนินการจะอธิบาย Deep Link ที่นำผู้ใช้ไปยังเนื้อหาและระดับการเข้าถึงที่จำเป็นสำหรับเนื้อหา ออบเจ็กต์เป็นพร็อพเพอร์ตี้ (potentialAction
) ของออบเจ็กต์มาร์กอัปเนื้อหา
โดยระบุการจํากัดการเข้าถึงได้ 2 วิธีดังนี้
- สำหรับการดำเนินการเพื่อรับชม ให้ใช้ ออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการ
- สำหรับ "การฟัง" ให้ใช้ออบเจ็กต์ข้อเสนอ
เทมเพลตมาร์กอัปการดำเนินการ
หากเนื้อหามี Deep Link หลายรายการ ออบเจ็กต์มาร์กอัปการดำเนินการจะมีออบเจ็กต์เป้าหมายหลายรายการ ตัวอย่างเช่น Deep Link ของเนื้อหาสำหรับ iOS อาจแตกต่างจาก Deep Link ของ Android นอกจากนี้ หากมีข้อจำกัดการเข้าถึงที่แตกต่างกันตามภูมิภาคและระยะเวลา ออบเจ็กต์มาร์กอัปการดำเนินการอาจมีออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการได้หลายรายการ หรือมีออบเจ็กต์ตามที่แสดงในเทมเพลตด้านล่าง
เทมเพลตออบเจ็กต์มาร์กอัปการดำเนินการสำหรับการดำเนินการเพื่อรับชม
"potentialAction": {
"@type": "WatchAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"actionAccessibilityRequirement": [
{ <ACTION ACCESSIBILITY OBJECT 01> },
{ <ACTION ACCESSIBILITY OBJECT 02> }
]
}
เทมเพลตออบเจ็กต์มาร์กอัปการดำเนินการสำหรับ Listen Actions:
"potentialAction": {
"@type": "ListenAction",
"target": [
{ <TARGET OBJECT 01> },
{ <TARGET OBJECT 02> }
],
"expectsAcceptanceOf": [
{ <OFFER OBJECT 01> },
{ <OFFER OBJECT 02> }
]
}
เป้าหมาย
ออบเจ็กต์เป้าหมายจะแมป Deep Link กับแพลตฟอร์มต่างๆ ของ Google ออบเจ็กต์เป็นพร็อพเพอร์ตี้ (target
) ของออบเจ็กต์มาร์กอัปการดำเนินการ
ตัวอย่างเป้าหมาย
หากเนื้อหามี Deep Link หลายรายการตามแพลตฟอร์ม ให้สร้างออบเจ็กต์เป้าหมายหลายรายการเพื่อให้มีการแมปที่แตกต่างกัน ตัวอย่างเช่น Deep Link ของเนื้อหาสำหรับ Chromecast อาจแตกต่างจากแพลตฟอร์มอื่นๆ ลิงก์ในรายละเอียด ดังที่แสดงในตัวอย่างด้านล่าง
ตัวอย่างออบเจ็กต์เป้าหมาย (พื้นฐาน)
"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"
]
}
ตัวอย่างออบเจ็กต์เป้าหมายที่มี Deep Link 2 รายการ
"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"
]
}
]
ข้อกำหนดการเข้าถึงการดำเนินการ
ออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการอธิบายข้อกำหนดการเข้าถึงสำหรับ
เนื้อหาตามภูมิภาคและช่วงเวลา ออบเจ็กต์คือพร็อพเพอร์ตี้
actionAccessibilityRequirement
จาก 1
ออบเจ็กต์มาร์กอัปการดำเนินการ
category
ของออบเจ็กต์อาจเป็นค่าใดก็ได้ต่อไปนี้
nologinrequired
free
subscription
หากต้องการอธิบายรายละเอียดการสมัครใช้บริการ ให้สร้าง ออบเจ็กต์การสมัครใช้บริการสื่อ ถ้า สมาชิกต้องมีการซื้อเนื้อหาเพิ่มเติม ให้ใช้ offer object เพื่อระบุราคา
externalsubscription
หากต้องการอธิบายรายละเอียดการสมัครใช้บริการ ให้สร้าง ออบเจ็กต์การสมัครใช้บริการสื่อ ถ้า สมาชิกต้องมีการซื้อเนื้อหาเพิ่มเติม ให้ใช้ offer object เพื่อระบุราคา
rental
ใช้ offer object เพื่อระบุราคา
purchase
ใช้ offer object เพื่อระบุราคา
การสมัครรับข้อมูลสื่อ
ออบเจ็กต์การสมัครใช้บริการสื่ออธิบายรายละเอียดการสมัครใช้บริการที่จำเป็น
สำหรับเนื้อหา ออบเจ็กต์เป็นพร็อพเพอร์ตี้ requiresSubscription
ของ
ออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการ นี่คือ
ต้องระบุหาก actionAccessibilityRequirement.category
คือ subscription
หรือ
externalSubscription
และข้อเสนอการสมัครใช้บริการของคุณมีหลายข้อเสนอ
แพ็กเกจหรือระดับ หรือมีการสนับสนุนเสริม โปรดอย่าใส่ข้อมูลนี้หาก
การสมัครใช้บริการเป็นแบบชั้นเดียวและให้สิทธิ์เข้าถึงเนื้อหาทั้งหมดในแคตตาล็อก
ตัวอย่างการสมัครใช้บริการสื่อ
ตัวอย่างออบเจ็กต์การสมัครใช้บริการสื่อ
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/premium_subscription",
"name": "Example Premium",
"sameAs": "http://www.example.com/premium_subscription"
}
ข้อเสนอ
ออบเจ็กต์ข้อเสนอจะอธิบายราคาที่เชื่อมโยงกับเนื้อหา ออบเจ็กต์เป็นพร็อพเพอร์ตี้ (expectsAcceptanceOf
) ของออบเจ็กต์ต่อไปนี้
- สำหรับการดำเนินการเพื่อรับชม ออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการ
- สำหรับ Listen Actions จะเป็นออบเจ็กต์มาร์กอัป Action
ตัวอย่างข้อเสนอ
การดำเนินการในการรับชมจะระบุพร็อพเพอร์ตี้ expectsAcceptanceOf
ใน
ออบเจ็กต์ข้อกำหนดการเข้าถึงการดำเนินการ:
"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
โดยตรงในออบเจ็กต์มาร์กอัปการดําเนินการ ดังนี้
"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"
}
}
}
รูปภาพ
ออบเจ็กต์รูปภาพอธิบายรูปภาพที่เชื่อมโยงกับเนื้อหา
ข้อกำหนดสำหรับรูปภาพมีดังนี้
- สำหรับการดำเนินการบนนาฬิกา ให้ใช้รูปภาพความละเอียดสูง (อย่างน้อย 140x210 พิกเซล) ที่มีสัดส่วนภาพ 2:3
- รูปภาพต้องอยู่ในรูปแบบ
.jpg
หรือ.png
- รูปภาพต้องอยู่ในรูปแบบ
- สำหรับการดำเนินการเพื่อฟัง ให้ใช้รูปภาพความละเอียดสูง (อย่างน้อย 300x300 พิกเซล) ที่มีสัดส่วนภาพ 1x1
- โดยแนะนำให้ใช้ขนาด 600x600 พิกเซลขึ้นไป
- รูปภาพต้องอยู่ในรูปแบบ
.jpg
,.png
หรือ.gif
- URL ของรูปภาพต้องรวบรวมข้อมูลและจัดทำดัชนีได้
- คุณต้องมีสิทธิ์ใช้รูปภาพดังกล่าวและอนุญาตให้แสดงรูปภาพในอุปกรณ์และผลิตภัณฑ์และบริการของ Google
- รูปภาพต้องไม่มีสิ่งต่อไปนี้
- รูปภาพที่เบลอ แตกเป็นพิกเซล หมุนผิดทิศทาง หรือมีคุณภาพต่ำ
- ไม่มีใบอนุญาตหรือคลังภาพ
- ภาพเปลือย
- เนื้อหาที่ผิดกฎหมาย
- เมื่ออัปเดต
MusicPlaylist
ให้อัปเดตรูปภาพเพื่อแสดงเนื้อหาใหม่
ตัวอย่างรูปภาพ
"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"]
}
ตัวอย่างฟีด
ตัวอย่างต่อไปนี้แสดงความแตกต่างของโครงสร้างฟีดระหว่าง การดำเนินการเพื่อรับชมและฟังการดำเนินการ
ตัวอย่างการดำเนินการในการรับชม
{
"@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"
}
]
}
]
}
ตัวอย่างการดำเนินการเพื่อฟัง
{
"@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"
}
}
}
}
}
]
}