ภาพรวมโครงสร้างฟีด

ฟีด Media Actions เป็นออบเจ็กต์ JSON ที่มีคอลเล็กชันเอนทิตี เอนทิตีคือออบเจ็กต์ของ schema.org ที่แสดงถึงรายการในแคตตาล็อก เช่น ตอนของรายการทีวี ซีรีส์ ภาพยนตร์ เพลง อัลบั้ม และอื่นๆ

วันที่
รูปที่ 1 โครงสร้างฟีดของ "การดำเนินการเพื่อรับชม" และ "การฟัง"

โครงสร้างฟีด

การดำเนินการ "ดู" และ "การฟัง" มีโครงสร้างฟีดแตกต่างกัน

การดำเนินการในการรับชมมีลำดับชั้นดังต่อไปนี้
การดำเนินการของการฟังมีลำดับชั้นดังต่อไปนี้

เอนเวโลปฟีดข้อมูล

เอนเวโลปฟีดข้อมูลเป็นออบเจ็กต์ระดับบนสุดในฟีดการดำเนินการสื่อ ออบเจ็กต์ดังกล่าวมีอาร์เรย์ของออบเจ็กต์มาร์กอัปเนื้อหา (เอนทิตี) ที่แสดงเนื้อหาทั้งหมดในแคตตาล็อกของคุณ

เอนเวโลปฟีดข้อมูลรองรับพร็อพเพอร์ตี้ต่อไปนี้

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
@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 ของออบเจ็กต์อาจเป็นค่าใดก็ได้ต่อไปนี้

การสมัครรับข้อมูลสื่อ

ออบเจ็กต์การสมัครใช้บริการสื่ออธิบายรายละเอียดการสมัครใช้บริการที่จำเป็น สำหรับเนื้อหา ออบเจ็กต์เป็นพร็อพเพอร์ตี้ 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) ของออบเจ็กต์ต่อไปนี้

ตัวอย่างข้อเสนอ

การดำเนินการในการรับชมจะระบุพร็อพเพอร์ตี้ 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"
            }
          }
        }
      }
    }
  ]
}