نظرة عامة حول بنية الخلاصة

خلاصة "الإجراءات المتعلقة بالوسائط" هي عنصر 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> },
    ...
  ]
}

ترميز المحتوى

يمثّل عنصر تنسيق المحتوى عنصرًا واحدًا في قائمتك: فيلم أو حلقة تلفزيونية أو مسلسل تلفزيوني أو أغنية أو ألبوم أو محطة إذاعية وما إلى ذلك. يحتوي العنصر على معرّف المحتوى وعنوان 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 مباشرةً في كائن ترميز الإجراء:

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

صورة

يصف عنصر الصورة الصورة المرتبطة بالمحتوى.

في ما يلي متطلبات الصورة:

  • بالنسبة إلى "الإجراءات عند المشاهدة"، قدِّم صورة عالية الدقة (بحد أدنى 140×210 بكسل) بنسبة عرض إلى ارتفاع 2:3.
    • يجب أن تكون الصورة بتنسيق .jpg أو .png.
  • بالنسبة إلى إجراءات الاستماع، قدِّم صورة عالية الدقة (بحد أدنى 300 × 300 بكسل) بنسبة عرض إلى ارتفاع 1×1.
    • ننصحك باستخدام صور بدقة 600×600 بكسل أو أعلى.
    • يجب أن تكون الصورة بتنسيق .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"
            }
          }
        }
      }
    }
  ]
}