אירועי ספורט – בניית מודלים, שיטות מומלצות ופיד לדוגמה

הגדרה

SportsEvent הוא סוג ישות שמייצג משחק ספורט או שידור חוזר מלא של משחק ספורט.

מה אפשר להגדיר כ-SportsEvent? משחק ספורט
מה אי אפשר להגדיר כ-SportsEvent?

כל תוכן של סרטונים קצרים, קליפים או הצצה אל מאחורי הקלעים. זו הרשימה:

  • תקציר אקראי או הפעלה מחדש של קליפים קצרים
  • תצוגות מקדימות של המשחק
  • רגעי השיא של המשחק
  • פספוסים במשחקים
  • קטעי וידאו של ראיונות עם שחקנים
  • סרטונים מאחורי הקלעים
  • ביקורות על משחקים (שנוצרו על ידי משתמשים או אחרים)
  • קליפים קצרים אקראיים מהמשחק

איך מטפלים בתוכן הצצה אל מאחורי הקלעים כזה?

תרחישים נפוצים לדוגמה של SportsEvents

S.No.‎ תיאור ישויות נדרשות
מקרה 1

אני צריך ליצור מודל של SportsEvent שהוא חלק מקטלוג הטלוויזיה בשידור חי שלי ומשודר באינטרנט.

המשחק משודר באינטרנט ולא משויך לאף ערוץ.

‫SportsEvent שמייצג את המשחק.

‫BroadcastEvent שמייצג את שידור המשחק.

מקרה 2 אני צריך ליצור מודל של SportsEvent שהוא חלק מהקטלוג של הטלוויזיה בשידור חי ומשודר אונליין בערוץ.

‫SportsEvent שמייצג את המשחק.

BroadcastEvent שמייצג את שידור המשחק.

‫BroadcastService,‏ Organization,‏ TelevisionChannel,‏ CableOrSatelliteService – ישויות שמייצגות את הערוץ ואת חבילת הערוצים.

תרחיש 3 שילובים של שני המקרים הקודמים. אם משלבים את תרחישי השימוש הקודמים, צריך לספק את כל סוגי הישויות שמפורטים בעמודה "ישויות נדרשות" המתאימה.

שיטות מומלצות ותובנות לגבי כמה בדיקות שאנחנו מבצעים

ההנחיות ובדיקות האיכות הבאות רלוונטיות כשממפים אירועי ספורט ואת השידורים שלהם.

צריך להחיל את הכללים הבאים על כל השילובים של SportsEvent:

  • הצבת כל קישורי העומק של הספורט ב-SportsEvent.potentialAction: קישורי עומק ברמת המשחק (WatchAction) – גם לשידורים חיים ללא ערוץ וגם לשידורים חוזרים של וידאו על פי דרישה – חייבים להיות ממוקמים אך ורק בישות SportsEvent (SportsEvent.potentialAction). אין להציב את potentialAction ב-BroadcastEvent שמפנה אל SportsEvent. (בשידורים של ערוצים ליניאריים בלי קישור עומק ספציפי לאירוע, צריך לספק את קישור העומק של הערוץ ב-BroadcastService.potentialAction.) אם למשחק יש כמה שידורים (לדוגמה, פידים אזוריים, שידורים של משחקי בית או חוץ, כמה שפות או כתובות URL נפרדות לשידור חי ולשידור חוזר של וידאו על פי דרישה), צריך לספק מערך של אובייקטים מסוג WatchAction ב-SportsEvent.potentialAction.
  • חלון זמן לפני המשחק (availabilityStarts): הגדירו SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts לפחות 14 ימים לפני SportsEvent.startDate (availabilityStarts <= SportsEvent.startDate - 14 days) כדי שמשבצות המשחקים הקרובים וההתראות לצפייה יוכלו להופיע מראש. לא צריך לשלוח את ישות הפיד 14 ימים מראש – אפשר לשלוח את נתוני האירוע קרוב יותר ליום המשחק, כל עוד חותמת הזמן של availabilityStarts מוגדרת לפחות 14 ימים לפני SportsEvent.startDate.
  • מאגר זמן להארכה (availabilityEnds): צריך להגדיר את SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds אחרי SportsEvent.endDate עם מאגר זמן של שעתיים עד 3 שעות (availabilityEnds >= SportsEvent.endDate + 2 to 3 hours, או עד סוף חלון ההפעלה מחדש של הווידאו על פי דרישה) כדי שתוקף קישור העומק לא יפוג במהלך הארכות בשידור חי או סיקור אחרי המשחק.
  • דרישות לגבי @id ו-url:
    • שימוש בערכים נפרדים של @id: הערך של BroadcastEvent.@id צריך להיות שונה מהערך של SportsEvent.@id.
    • השמטת url: לא כוללים מאפיין url בישויות BroadcastEvent או SportsEvent.
מספר סידורי הישויות הנדרשות הנחיות
מקרה 1

אני צריך ליצור מודל של SportsEvent שהוא חלק מהקטלוג של הטלוויזיה בשידור חי ומשודר באינטרנט.

המשחק משודר באינטרנט ולא משויך לאף ערוץ.

הישויות הנדרשות

  • SportsEvent שמייצג את המשחק
  • BroadcastEvent שמייצג את שידור המשחק

הנחיות ליצירת מודלים

תרחיש משנה 1: המשחק זמין רק בשידור חי (ולא כחלק מקטלוג VOD)

  • צריך לספק את הישות BroadcastEvent כדי לשתף את לוח הזמנים של השידור, להפנות למשחק באמצעות BroadcastEvent.broadcastOfEvent ולציין את מדינת השידור ב-BroadcastEvent.location.
  • מציינים את קישור העומק לשידור החי בישות SportsEvent באמצעות SportsEvent.potentialAction (מוגדר עם availabilityStarts של 14 ימים לפני האירוע ו-availabilityEnds של שעתיים-שלוש אחרי האירוע).
  • אל תציינו את BroadcastEvent.potentialAction, BroadcastEvent.url או SportsEvent.url.
  • אין לספק את BroadcastEvent.publishedOn כי המשחק משודר אונליין בלי ערוץ ליניארי.

תרחיש משנה 2: המשחק זמין בשידור חי וכחלק מקטלוג הווידאו על פי דרישה (לדוגמה, כשהשידורים החוזרים של המשחק המלא נשארים זמינים על פי דרישה)

  • צריך לספק את הישות BroadcastEvent כדי לשתף את לוח הזמנים של כל שידור (הפניה אל BroadcastEvent.broadcastOfEvent וציון BroadcastEvent.location).
  • לאחד את ההפעלה של השידור החי ושל ה-VOD ב-SportsEvent.potentialAction – על ידי הרחבת availabilityEnds עד לסוף החלון של ה-VOD אם כתובת ה-URL וההרשאות זהות, או על ידי הוספת כמה אובייקטים של WatchAction ב-SportsEvent.potentialAction עם החלונות המתאימים של actionAccessibilityRequirement.
  • אל תספקו את הפרטים הבאים: BroadcastEvent.potentialAction,‏ BroadcastEvent.url,‏ SportsEvent.url או BroadcastEvent.publishedOn.

בדיקות איכות שצריך לבצע

  • מגדירים את BroadcastEvent.isLiveBroadcast לערך הבוליאני true (ללא מירכאות) כשהמשחק משודר בשידור חי. צריך להגדיר את הערך false לשידור חוזר מתוזמן.
  • בישויות מסוג BroadcastEvent שלא פעילות, הערך של BroadcastEvent.startDate לא יכול להיות מוקדם יותר מהערך של SportsEvent.startDate.
  • צריך לכלול את parentOrganization (עם כתובת URL של sameAs) גם ב-homeTeam וגם ב-awayTeam.
מקרה 2

אני צריך ליצור מודל של SportsEvent שהוא חלק מקטלוג הטלוויזיה בשידור חי שלי ומשודר אונליין בערוץ.

הישויות הנדרשות

  • SportsEvent שמייצג את המשחק.
  • BroadcastEvent שמייצג את שידור המשחק.
  • ‫BroadcastService,‏ Organization,‏ TelevisionChannel,‏ CableOrSatelliteService ישויות שמייצגות את הערוץ ואת חבילת הערוצים.

הנחיות ליצירת מודלים

תרחיש משנה 1: המשחק זמין רק בשידור חי בערוץ הליניארי (ולא כחלק מקטלוג VOD)

  • צריך לספק את הישות BroadcastEvent כדי לשתף את לוח הזמנים של השידור, כאשר BroadcastEvent.publishedOn מצביע על הישות BroadcastService, BroadcastEvent.broadcastOfEvent מצביע על הישות SportsEvent ו-BroadcastEvent.location מציין את מדינת השידור.
  • מציינים את הישויות BroadcastService,‏ Organization,‏ TelevisionChannel ו-CableOrSatelliteService כדי לייצג את הערוץ ואת חבילת הערוצים, עם קישור העומק של הערוץ ב-BroadcastService.potentialAction.
  • לעולם אל תספקו את BroadcastEvent.potentialAction, BroadcastEvent.url או SportsEvent.url.
  • אם אתם תומכים גם בקישור עומק ישיר למשחק ספציפי, צריך לציין אותו ב-SportsEvent.potentialAction. אם אפשר להפעיל את המשחק רק דרך קישור העומק לערוץ הליניארי ב-BroadcastService.potentialAction, צריך להשמיט את SportsEvent.potentialAction.

תרחיש משנה 2: המשחק זמין בשידור חי בערוץ וגם כחלק מקטלוג ה-VOD

  • כדי לשתף את לוח השידורים של הערוץ, צריך לספק את הישות BroadcastEvent (עם publishedOn,‏ broadcastOfEvent ו-location).
  • צריך לספק את הישויות BroadcastService,‏ Organization,‏ TelevisionChannel ו-CableOrSatelliteService, עם קישור העומק של הערוץ ב-BroadcastService.potentialAction.
  • לעולם אל תספקו את BroadcastEvent.potentialAction, BroadcastEvent.url או SportsEvent.url.
  • צריך לספק את SportsEvent.potentialAction בישות SportsEvent לחלון ההפעלה ברמת האירוע או של וידאו על פי דרישה.

בדיקות איכות שצריך לבצע

  • מגדירים את BroadcastEvent.isLiveBroadcast לערך הבוליאני true (ללא מירכאות) כשהמשחק משודר בשידור חי, ואת false לשידור חוזר של המשחק.
  • בישויות מסוג BroadcastEvent שלא פעילות, הערך של BroadcastEvent.startDate לא יכול להיות מוקדם יותר מהערך של SportsEvent.startDate.
  • צריך לכלול את parentOrganization (עם כתובת URL של sameAs) גם ב-homeTeam וגם ב-awayTeam.

דוגמאות

מקרה 1: אירוע ספורט שהוא חלק מקטלוג של טלוויזיה בשידור חי ומועבר בסטרימינג באינטרנט

אירוע שידור

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/live_event/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "description": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B.",
  "startDate": "2019-09-16T10:00-08:00",
  "endDate": "2019-09-16T13:00-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": true,
  "broadcastOfEvent": {
    "@type": "SportsEvent",
    "@id": "http://example.com/basketball/professional/final_game_6"
  },
  "location": {
    "@type": "Country",
    "name": "US"
  }
}

אירוע ספורט

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "SportsEvent",
  "@id": "http://example.com/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "sport": "https://en.wikipedia.org/wiki/Basketball",
  "description": {
    "@language": "en",
    "@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
  },
  "startDate": "2019-09-16T10:00-08:00",
  "endDate": "2019-09-16T13:00-08:00",
  "homeTeam": {
    "@type": "SportsTeam",
    "name": "Team B",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "John Doe"
      }
    ]
  },
  "awayTeam": {
    "@type": "SportsTeam",
    "name": "Team A",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "Jane Doe"
      }
    ]
  },
  "location": {
    "@type": "Place",
    "name": "Example Stadium",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1600 Amphitheatre Pkwy",
      "addressLocality": "Mountain View",
      "addressRegion": "CA",
      "postalCode": "94043",
      "addressCountry": "US"
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "EP000194303282"
    }
  ],
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/pbl_finals_game_6?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": "2019-09-01T10:00-08:00",
      "availabilityEnds": "2019-09-16T16:00-08:00",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}

מקרה 2: אירוע ספורט שהוא חלק מקטלוג של טלוויזיה בשידור חי ומועבר בסטרימינג אונליין בערוץ

אירוע שידור

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/live_event/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "description": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B.",
  "startDate": "2019-09-16T10:00-08:00",
  "endDate": "2019-09-16T13:00-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": true,
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "broadcastOfEvent": {
    "@type": "SportsEvent",
    "@id": "http://example.com/basketball/professional/final_game_6"
  },
  "location": {
    "@type": "Country",
    "name": "US"
  }
}

אירוע ספורט

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "SportsEvent",
  "@id": "http://example.com/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "sport": "https://en.wikipedia.org/wiki/Basketball",
  "description": {
    "@language": "en",
    "@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
  },
  "startDate": "2019-09-16T10:00-08:00",
  "endDate": "2019-09-16T13:00-08:00",
  "homeTeam": {
    "@type": "SportsTeam",
    "name": "Team B",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "John Doe"
      }
    ]
  },
  "awayTeam": {
    "@type": "SportsTeam",
    "name": "Team A",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "Jane Doe"
      }
    ]
  },
  "location": {
    "@type": "Place",
    "name": "Example Stadium",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1600 Amphitheatre Pkwy",
      "addressLocality": "Mountain View",
      "addressRegion": "CA",
      "postalCode": "94043",
      "addressCountry": "US"
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "EP000194303282"
    }
  ]
}

הישויות BroadcastService,‏ CableOrSatelliteService,‏ TelevisionChannel ו-Organization, כפי שהן מוגדרות בקטע ערוץ טלוויזיה בשידור חי בקטע "מושגים".

איך מטפלים בתוכן של הצצה אל מאחורי הקלעים?

מה נחשב לתוכן של הצצה אל מאחורי הקלעים?
  • תקציר אקראי או הפעלה מחדש של קליפים קצרים
  • תצוגות מקדימות של המשחק
  • רגעי השיא של המשחק
  • פספוסים במשחקים
  • קטעי וידאו של ראיונות עם שחקנים
  • סרטונים מאחורי הקלעים
  • ביקורות על משחקים (שנוצרו על ידי משתמשים או אחרים)
  • קליפים קצרים אקראיים אחרים מהמשחק
מספר סידורי תרחיש שימוש הנחיות ליצירת מודלים
מקרה 1 יש לי תוכן של הצצה אל מאחורי הקלעים בקטלוג ה-VOD שלי.
  • האפשרות הזו לא נתמכת ואי אפשר לספק אותה בפיד.
  • עם זאת, אפשר להשתמש ב-ViTA כדי לספק קבוצת משנה של התוכן הזה. כדי לקבל מידע נוסף על ViTA, אפשר לפנות לנציג Google.
מקרה 2 יש לי תוכן של הצצה אל מאחורי הקלעים בקטלוג התוכן הפעיל שלי

תרחיש משנה 1: התוכן זמין לסטרימינג בשידור חי באינטרנט

  • צריך לספק את הישות BroadcastEvent כדי לשתף את לוח הזמנים של השידור.
  • צריך לספק את קישור העומק של ההצצה אל מאחורי הקלעים באמצעות המאפיין BroadcastEvent.potentialAction (החריגה הזו חלה רק על הצצה עצמאית אל מאחורי הקלעים בשידור חי, כי אין ישות SportsEvent בפיד).
  • מוסיפים את כל המטא-נתונים שמשויכים לקליפ ישירות אל BroadcastEvent . לדוגמה, אפשר להוסיף תמונות באמצעות המאפיין BroadcastEvent.image . אפשר להוסיף סיווגי תוכן באמצעות המאפיין BroadcastEvent.contentRating .
  • מכיוון שסוג התוכן הזה הוא לא SportsEvent, הפיד לא יכול להכיל ישות מסוג SportsEvent. לכן, אסור לציין את המאפיין broadcastOfEvent ב-BroadcastEvent .
  • מכיוון שהיא לא קשורה לערוץ, אל תספקו את המאפיין publishedOn ב-BroadcastEvent.

מקרה משנה 2: התוכן זמין לסטרימינג בשידור חי באינטרנט בערוץ

  • כדי לשתף את לוח הזמנים של השידור, צריך לספק את הישות BroadcastEvent.
  • צריך לספק את הישויות BroadcastService,‏ Organization,‏ TelevisionChannel ,‏ CableOrSatelliteService כדי לייצג את הערוץ ואת חבילת הערוצים של הספק.
  • קישור העומק למשחק צריך להיות פשוט קישור העומק של BroadcastService , שמיוצג על ידי המאפיין BroadcastService.potentialAction , שחובה לספק.
  • אסור לציין את המאפיין BroadcastEvent.potentialAction.
  • כל מטא-נתונים שמשויכים לקליפ חייבים להתווסף ישירות אל BroadcastEvent. לדוגמה, אפשר להוסיף תמונות באמצעות המאפיין BroadcastEvent.image. אפשר להוסיף סיווגי תוכן באמצעות המאפיין BroadcastEvent.contentRating.
  • מכיוון שסוג התוכן הזה הוא לא SportsEvent, הפיד לא יכול להכיל ישות מסוג SportsEvent. לכן, אסור לציין את המאפיין broadcastOfEvent ב-BroadcastEvent.
  • מאחר שהוא קשור לערוץ, צריך לספק את המאפיין publishedOn ב-BroadcastEvent.
מקרה 3 יש לי תוכן של הצצה אל מאחורי הקלעים שזמין גם בקטלוג של וידאו על פי דרישה (VOD) וגם בקטלוג של טלוויזיה בשידור חי

נכון להיום, לא ניתן לכלול בפיד הצצה אל מאחורי הקלעים של אירועי ספורט ב-VOD, ולכן המקרה הזה דומה למקרה 2. פועלים לפי ההוראות שמופיעות שם.

שאלות נפוצות

שאלה: איפה אפשר למצוא את המפרטים שמשויכים לישויות שצוינו קודם?

תשובה: המפרטים הנדרשים מפורטים כאן.

מסמכים כלליים קישור
SportsEvent קישור
BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService קישור
BroadcastEvent קישור

שאלה: האם יש מסמך מפורט יותר שמסביר איך ליצור מודל של ערוצי הטלוויזיה בשידור חי ושל חבילות הערוצים?

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

שאלה: האם אפשר לצפות ב-ViTA גם במשחקים מלאים בשידור חי ובשידורים חוזרים של משחקים מלאים?

תשובה: ViTA תומכת במטא-נתונים של משחקים מלאים בשידור חי ושידורים חוזרים של משחקים מלאים בליגה (בנוסף לקבוצת משנה של הצצה אל מאחורי הקלעים)

  • אם לשותפים כבר יש פיד פעיל של פעולות מדיה ב-Google, או אם הם מציעים תוכן וידאו על פי דרישה (VOD) או טלוויזיה בשידור חי, Google דורשת מהם להרחיב את הפיד כך שיכלול גם את הסוגים הנתמכים של SportsEvent.

    • בטווח הקצר, השותפים יכולים להשתמש ב-ViTA כדי להטמיע תוכן של הצצה אל מאחורי הקלעים. בטווח הארוך, הפיד צריך לתמוך בכל סוגי התוכן.
  • לשותפים שאין להם תוכן של VOD או טלוויזיה בשידור חי, אלא רק תוכן של ליגות ספורט והצצה אל מאחורי הקלעים, ViTA היא אפשרות מצוינת להתחיל איתה. כדי לקבל מידע נוסף על ViTA, אפשר לפנות לנציג Google.