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

خلاصة "إجراءات الوسائط" هي كائن 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 الأساسي الخاص به ويساعد في وصف المحتوى من خلال البيانات الوصفية.

نموذج ترميز المحتوى

ويمكن لكائن ترميز المحتوى أن يحتوي على مصفوفة كائنات ترميز الإجراءات التي تسمح بربط المحتوى بكائنات ترميز متعددة في "المهام". على سبيل المثال، يمكن أن يشتمل المحتوى على كائن ترميز Action مختلف لكل منطقة.

{
   "@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) لـ كائن ترميز Action.

مثال للاستهداف

إذا كان المحتوى يتضمّن عدة روابط لصفحات في التطبيق استنادًا إلى الأنظمة الأساسية، أنشئ كائنات مستهدفة متعددة لتوفير عمليات ربط مختلفة. على سبيل المثال، قد يختلف الرابط لموضع معيّن في محتوى 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"
            }
          }
        }
      }
    }
  ]
}