סקירה כללית של מבנה הפיד

הפיד Media Actions הוא אובייקט JSON שמכיל אוסף ישויות. ישות היא אובייקט schema.org שמייצג פריט בקטלוג: פרק בתוכנית טלוויזיה, סדרת טלוויזיה, סרט, שיר, אלבום ועוד.

איור 1. מבני הפיד של פעולות צפייה ופעולות האזנה.

מבנה הפיד

למבנה הפיד של פעולות צפייה ולמבנה הפיד של פעולות האזנה יש מבנים שונים.

לפעולות הצפייה יש את ההיררכיה הבאה:
פעולות ההאזנה מחולקות לפי ההיררכיה הבאה:

מעטפת של פיד נתונים

מעטפת של פיד נתונים היא האובייקט ברמה העליונה בפיד של פעולות מדיה. האובייקט מכיל מערך של אובייקטים של סימון תוכן (ישויות) שמייצגים את כל התוכן בקטלוג.

מעטפת של פיד נתונים תומכת במאפיינים הבאים:

נכס סוג תיאור
@context כתובת URL חובה – מוגדר לערך http://schema.org
@type טקסט חובה – מגדירים את הערך 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> },
    ...
  ]
}

סימון תוכן

אובייקט של סימון תוכן מייצג ישות אחת בקטלוג: סרט, פרק של תוכנית טלוויזיה, סדרת טלוויזיה, שיר, אלבום, תחנת רדיו וכו'. האובייקט מכיל את המזהה ואת כתובת ה-URL הקנונית של התוכן, ועוזר לתאר את התוכן באמצעות metadata.

תבנית של סימון תוכן

אובייקט של סימון תוכן יכול לכלול מערך של אובייקטים של סימון פעולה, שמאפשר לשייך את התוכן למספר אובייקטים של סימון פעולה. לדוגמה, לתוכן יכול להיות אובייקט שונה של רכיב 'סימון פעולה' לכל אזור.

{
   "@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> }
   ],
   ...
}

סימון פעולה

אובייקט של רכיב 'פעולה' מתאר את קישור העומק שמעביר את המשתמשים לתוכן ואת רמת הגישה הנדרשת לתוכן. האובייקט הוא מאפיין (potentialAction) של אובייקט של תגי עיצוב לתוכן.

יש שתי דרכים לציין את הגבלות הגישה:

תבנית לסימון פעולות

אם התוכן מכיל כמה קישורים עומק, אובייקט של סימון פעולה כולל כמה אובייקטי יעד. לדוגמה, קישור העומק של התוכן ל-iOS עשוי להיות שונה מקישור העומק ל-Android. כמו כן, אם יש הגבלות גישה שונות על סמך האזורים ותקופות הזמן, אובייקט של רכיב 'סימון פעולה' יכול לכלול כמה אובייקטים של הגדרות גישה לפעולה או אובייקטים של מבצעים, כפי שמוצג בתבניות שבהמשך.

תבנית של אובייקט רכיב תיוג של פעולה לפעולות צפייה:

"potentialAction": {
  "@type": "WatchAction",
  "target": [
    { <TARGET OBJECT 01> },
    { <TARGET OBJECT 02> }
  ],
  "actionAccessibilityRequirement": [
    { <ACTION ACCESSIBILITY OBJECT 01> },
    { <ACTION ACCESSIBILITY OBJECT 02> }
  ]
}

תבנית של אובייקט רכיב תיוג של פעולה עבור פעולות האזנה:

"potentialAction": {
  "@type": "ListenAction",
  "target": [
    { <TARGET OBJECT 01> },
    { <TARGET OBJECT 02> }
  ],
  "expectsAcceptanceOf": [
    { <OFFER OBJECT 01> },
    { <OFFER OBJECT 02> }
  ]
}

יעד

אובייקט יעד מספק את המיפוי של קישור עומק לפלטפורמות שונות של Google. האובייקט הוא מאפיין (target) של אובייקט של סימון פעולה.

דוגמה ליעד

אם התוכן מכיל כמה קישורים עומק שמבוססים על הפלטפורמות, צריך ליצור כמה אובייקטים יעד כדי לספק מיפויים שונים. לדוגמה, הקישור העמוק של התוכן ל-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"
  ]
}

דוגמה לאובייקט יעד עם שני קישורי עומק:

"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, של אובייקט של סימון פעולה.

השדה 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"
      }
    }
  }
}

פעולות הקשב מציינות את המאפיין expectsAcceptanceOf ישירות באובייקט של רכיב ה-Action markup:

"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"
            }
          }
        }
      }
    }
  ]
}