Действия в игре

Обзор

В этом документе описываются действия Play Game для видеоигр, перечисляются требования к схеме и подробно описывается процесс настройки для запуска функции.

Введение в игровые действия

Мобильная версия Play Game Actions
Изображение действий в игре на мобильном устройстве
Настольная версия Play Game Actions
Изображение действий в игре Play на рабочем столе

Функция «Играть в игру» для видеоигр позволяет пользователям играть прямо со страницы результатов поиска (SRP) на компьютере или мобильном устройстве. При поиске игры, с которой связано хотя бы одно действие «Играть в игру», пользователи видят действие «Играть в игру» на вкладке «Обзор» страницы результатов поиска (OSRP) или в панели знаний. Это работает для демоверсий и полных версий игр, доступных бесплатно, по подписке или по отдельности, и доступных для потоковой передачи из облака на компьютере или мобильном устройстве, а также для загрузки через локальные клиентские приложения на компьютере или консоли.

Действия «Играть в игру» основаны на фиде, содержащем информацию о вашем каталоге игр. Фид — это JSON-объект, содержащий коллекцию сущностей. Сущность — это объект schema.org , представляющий игру в вашем каталоге и связанную с ней глубокую ссылку для потоковой передачи игры (демоверсии, пробной версии с мгновенным запуском или полной версии).

Чтобы Google мог получить доступ к вашему фиду, вам необходимо сохранить его в файле и разместить его в месте, где Google сможет получить к нему доступ. Чтобы ваш контент был актуальным, Google регулярно скачивает файл фида с вашего хостинга.

В следующих разделах мы подробно рассмотрим каждое из этих требований.

Начать

Как указано в предыдущем разделе, ваши обязанности как поставщика услуг включают следующее:

  • Изучите информацию, необходимую для создания канала, ее источники и доступность, а также то, как она попадает в канал.
  • Создайте канал, содержащий необходимые сведения о каждой игровой сущности в вашем каталоге.
  • Разместите канал на сервере или в облачном хранилище и разрешите Google регулярно его загружать.
  • Отвечайте на вопросы, поднятые Google, и устраняйте их. Они могут быть связаны с качеством или структурой самих JSON-файлов.
  • Поддерживайте актуальность ленты по мере развития вашего каталога.
  • Обеспечить сохранение качества корма после запуска.

Давайте разберемся в этом подробнее.

Прежде чем начать

Прежде чем приступить к созданию фида, рекомендуем вам изучить требования к метаданным Play Game Actions и собрать всю необходимую информацию в одном месте. Перед созданием фида мы рекомендуем следующее:

  • Ознакомьтесь с требованиями к метаданным для объекта VideoGame .
  • Соберите метаданные.
    • Внимательно изучите обязательные и рекомендуемые свойства. Google использует эти свойства для сверки вашего контента в ленте с контентом в базах данных Google. Чем больше метаданных вы предоставите для своего контента, тем точнее Google сможет сопоставить его.

Понимать, как использовать термины «Работы» и «Издания» в этой документации.

  • Произведение : абстрактное понятие видеоигры. В частности, метаданные, такие как название, разработчик, описание игры и издатель, являются атрибутами произведения.
  • Издание : конкретная версия видеоигры. В частности, метаданные, такие как год издания, название платформы и внешние ссылки, являются атрибутами издания.

Например, «Shadow of the Tomb Raider» — это произведение, но каждая его версия — это издание. В этом случае у произведения «Shadow of the Tomb Raider» может быть издание для Stadia, одно издание для PlayStation, одно издание для раннего доступа на Stadia и так далее.

Это различие особенно важно в ленте, где оно может быть не сразу очевидным. Существует два объекта VideoGame:

  • VideoGame (Work) — это сущность VideoGame «верхнего уровня»:
    • exampleOfWork является свойством VideoGame (Work) и определяет один или несколько экземпляров VideoGame (Edition).
    • Для каждой Видеоигры (Работы) должен быть хотя бы один exampleOfWork VideoGame (Издание).
  • VideoGame (Edition) — это сущность VideoGame «низкого уровня».

Полезно помнить, что у одного произведения может быть несколько изданий. Мы рекомендуем максимально группировать эти издания. Это помогает системам Google использовать всю необходимую информацию о видеоигре и показывать её в результатах поиска.

Поймите два ключевых свойства и их требования. Крайне важно правильно их определить, прежде чем мы перейдем к созданию фида, что является следующим шагом.

Канонический URL (url)

Канонический URL ( url ) помогает Google точно согласовывать содержимое вашего каталога с содержимым в базах данных Google.

Канонический URL — это URL страницы, который Google считает наиболее репрезентативным среди дубликатов страниц вашего сайта. Например, если у вас есть URL одной и той же страницы (например, example.com?dress=1234 и example.com/dresses/1234), Google выберет один из них в качестве канонического. (Источник: Объединение дубликатов URL )

Ниже приведены требования к каноническому URL:

  • url должен быть глобально уникальным.
  • url должен содержать рабочий канонический URL, который может сканировать Google.

Идентификатор (@id)

Идентификатор (@id) должен соответствовать следующим требованиям:

  • Глобально уникальный для вашего каталога:
    • Например, не используйте один и тот же @id для двух разных видеоигр.
  • Статика:
    • Вы не сможете изменить @id позже.
  • В форме унифицированного идентификатора ресурса (URI):
    • Если локальный идентификатор (ID) вашего контента не имеет формата URI, добавьте к ID свой домен, чтобы выполнить это требование; например, если ID вашего контента — 1234abc , а ваш домен — https://example.com , @id может быть https://example.com/1234abc .
    • @id не обязательно должен быть рабочим URL-адресом; он должен иметь только формат URI.
    • Домен, используемый в @id (например, https://example.com ), должен принадлежать вашей организации.

Поскольку url сущности отвечает всем требованиям к идентификатору (то есть должен быть глобально уникальным, статичным и иметь форму URI), мы рекомендуем использовать url сущности в качестве @id в тех случаях, когда это имеет смысл.

Понять и определить требования к глубоким ссылкам

Когда пользователь инициирует действия в Play Game с контентом, Google использует глубинную ссылку этого контента, чтобы перенаправить пользователя непосредственно к контенту в вашем приложении или на платформе. Имейте в виду следующее:

  • Диплинки должны открывать целевой контент на всех указанных платформах. Разные платформы могут иметь разные диплинки. Например, диплинк, работающий на десктопном сайте, может отличаться от диплинка, работающего на мобильном устройстве. Для каждой игры проверьте, есть ли у неё разные диплинки в зависимости от платформы.
  • Глубокие ссылки могут включать параметры (&) или теги привязки (#).
  • Чтобы гарантировать доступность вашего контента на различных платформах Google (Поиск, Ассистент и Android TV), необходима глубокая ссылка.

Поскольку url сущности отвечает всем требованиям к идентификатору (то есть должен быть глобально уникальным, статичным и иметь форму URI), мы рекомендуем использовать url сущности в качестве @id в тех случаях, когда это имеет смысл.

Платформа Описание
http://schema.org/DesktopWebPlatform Поисковая платформа в веб-браузере настольного компьютера.
http://schema.org/MobileWebPlatform Поисковая платформа в мобильном веб-браузере.
http://schema.org/AndroidPlatform Поисковая платформа в приложении Android.
http://schema.org/AndroidTVPlatform Платформа Android TV в приложении Android TV.
http://schema.org/IOSPlatform Поисковая платформа в приложении iOS.

Определите требования к доступу к играм в вашем каталоге: задайте себе следующие вопросы и убедитесь, что есть способ определить ответы на них с помощью метаданных в ленте.

  • Необходимо ли пользователям входить в ваше приложение или на платформу для доступа к контенту?
  • Нужна ли пользователям подписка?
  • Нужно ли пользователям совершать покупки, чтобы играть в игру?
  • Меняются ли требования к доступу со временем?
  • Зависят ли требования к доступу от местоположения устройства?

Если вы предлагаете более одного пакета подписки, который могут приобрести ваши пользователи, узнайте, что такое commonTier и как он применяется к вашей интеграции с Google.

Типы платного доступа

На сегодняшний день Play Game Actions поддерживает только следующие типы платного доступа :

Значение категории Тип платного доступа
nologinrequired Покупка или вход в систему не требуются.
free Пользователь должен быть авторизован, но ему не нужна платная подписка.
subscription У пользователя должна быть активная подписка. Доступ не зависит от уровня подписки.
subscription У пользователя должна быть активная подписка. Доступ не зависит от уровня подписки.
purchase Контент доступен в течение неопределенного периода времени после покупки.
rental Контент доступен в течение ограниченного периода времени после покупки.

Эти значения категорий будут использоваться позже при создании фида. Кроме того, имейте в виду, что категория rental в предыдущей таблице на данный момент совершенно необязательна и может быть реализована в будущих усовершенствованиях продукта. В настоящее время продукт из фида использует только значения категорий free , nologinrequired , subscription и purchase .

Наконец, быстро просмотрите образец ленты , чтобы получить представление о том, что мы хотим получить в конечном итоге.

Понимание вышеизложенного и обеспечение наличия метаданных для представления ответов (на эти вопросы) является достаточным для перехода к этапу создания канала.

Создайте свой канал

Лента действий в играх Play — это JSON-объект, содержащий коллекцию сущностей, представляющих видеоигры в вашем каталоге. Вам необходимо предоставить фид в виде файла или нескольких файлов и разместить его на сервере или в облачном хранилище, чтобы Google мог регулярно его загружать.

Соблюдайте требования к размеру, количеству и формату файла подачи.

Вам необходимо соблюдать следующие требования:

  • Все файлы каналов должны иметь расширение .json .
  • Убедитесь, что имена файлов не содержат пробелов.
  • Не шифруйте файл вашего канала.
  • Закодируйте файл вашего канала в формате UTF-8 (проверьте настройки редактора файлов). кодирование изображения
  • Если размер файла вашего фида превышает 1 ГБ в несжатом виде, разделите его на несколько файлов.
    • Пока размер файла не превышает 1 ГБ, ограничений на количество объектов, которые можно включить в один файл, или на количество файлов, которые вы в конечном итоге отправите в Google в рамках отправки фида, нет.
  • Убедитесь, что файл закодирован без BOM, согласно спецификации JSON . Для проверки этого в ОС Linux hexdump file.json | head -n 1 не должна начинаться с BBEF по адресу 0x00 .

Соблюдайте требования к содержанию корма

Необходимо соблюдать следующие требования к содержанию:

  • В фиде не должно быть устаревших сущностей. Устаревшие сущности — это сущности, для которых availabilityEnds глубинной ссылки установлено на прошедшую дату, или сущности, которые больше не доступны на вашем сайте.
  • Все глубокие ссылки, такие как urlTemplate , и все URL-адреса, такие как url ​​, включаемые в фид, должны быть рабочими URL-адресами. Не используйте URL-адреса для контроля качества, разработки или любые другие типы нерабочих URL-адресов.
  • Все URL-адреса, такие как url , должны быть каноническими , как упоминалось в предыдущем разделе.
  • Каждая сущность в вашем фиде должна иметь следующие свойства:
    • Уникальный идентификатор: @id
    • Уникальный URL: url
    • Уникальная глубокая ссылка: urlTemplate

При создании ленты мы предлагаем вам следующие рекомендации:

  • Изучите структуру канала в деталях.
  • Начните с образца корма.
    • Выберите до пяти репрезентативных сущностей из вашего каталога. Выберите сущности с достаточно сложной структурой, но при этом типичной для сущностей в каталоге, и создайте для них фид.
  • Отправьте его своему назначенному представителю Google для быстрой проверки.
  • После устранения всех ошибок в образце фида расширьте его, включив в него все сущности из вашего каталога.
    • Чтобы убедиться, что ваш фид содержит все сущности из вашего каталога, сравните количество сущностей в фиде с количеством элементов в вашем каталоге.

Размещайте свой канал

После того, как файл фида будет готов, разместите его в безопасном месте. Google будет регулярно загружать фид, чтобы гарантировать актуальность вашего контента. Мы поддерживаем следующие методы хостинга:

Метод хостинга Поддержка аутентификации
Облачное хранилище Google Предоставьте разрешение на просмотр объектов хранилища для 088794101-100000002-account@partnercontent.gserviceaccount.com
HTTPS Требуется предоставить имя пользователя и пароль или сертификаты клиента HTTP .
SFTP Требуется предоставить пароль, ключ и фразу или и то, и другое.
AWS S3 Требуется предоставить общий идентификатор ключа и ключ доступа для контейнера AWS S3.

После загрузки файла фида в хост-систему обратитесь в команду Play Game Actions для проверки файла фида.

Отправьте свой канал на проверку

После размещения файла фида обратитесь к назначенному вам контактному лицу Play Game Actions, чтобы начать процесс проверки фида. В этом сообщении обязательно укажите следующую информацию:

  • Обзор/Описание : Сообщите нам, предоставляете ли вы образец фида или полную версию продукта. Если вы предоставляете образец фида, сообщите нам предполагаемое время запуска продукта, если это возможно.
  • Расположение хоста : URL-адрес вашего файла канала.
  • Аутентификация хоста : укажите учётные данные, чтобы Google мог получить файл фида с вашего хоста, если это применимо. Подробнее см. в разделе «Размещение фида» .
  • Тестовый аккаунт : тестовый аккаунт, который позволит команде Play Game Actions получить доступ к глубоким ссылкам в вашем приложении или на платформе для тестирования. Если в вашем фиде есть объекты на нескольких платформах, предоставьте тестовый аккаунт для каждой платформы.
  • Значки : Предоставьте следующие пять значков. Они будут использоваться рядом с действиями «Играть» в поиске.
Категория Размеры (пикс.) Размер файла Руководящие принципы
Действия в играх при поиске/трансляции/других
16x16 Размер файла всех иконок, за исключением 112x112 px, не может превышать 1 КБ.

Размер файла значка размером 112x112 пикселей не может превышать 3 КБ.

Необходимы все пять размеров значка.

Изображения должны соответствовать следующим требованиям:

  • Формат файла PNG.
  • Круглая форма.
  • Прозрачный фон.
  • Убедитесь, что изображения сглажены, не искажены и не пикселизированы.
20x20
40x40
44x44
112x112

Образец

образцы иконок

Как работает проверка фидов

Проверка кормов осуществляется в два этапа:

  • Проверка структуры:
    • Это первый этап проверочных мероприятий.
    • Google предоставляет обратную связь по структуре JSON-файлов. Правильно ли сформирован JSON-файл? Есть ли в фиде все обязательные и рекомендуемые свойства? Соответствуют ли глубокие ссылки нашим требованиям к фидам?
    • Этот этап требует нескольких обсуждений с Google и продолжается до тех пор, пока все отзывы не будут рассмотрены.
  • Согласование метаданных:
    • Это начинается только после того, как канал пройдет этап проверки структуры , и тогда Google начнет процесс согласования с Google Knowledge Graph.
    • На этом этапе мы предоставляем обратную связь по метаданным, содержащимся в фиде. Для успешного запуска необходимо решить все проблемы. Например, на этом этапе вам может быть предложено исправить название игры или дату её выхода.
    • Этот этап также требует нескольких двусторонних обсуждений с Google и продолжается до тех пор, пока все отзывы не будут рассмотрены.

Критерии приемлемости корма

Канал считается приемлемым для запуска, когда устранены все проблемы, блокирующие его, и Google сертифицировал качество метаданных, соответствующее планке запуска.

Обновляйте свой канал по мере необходимости.

Мы рекомендуем обновлять ленту ежедневно, но это в конечном итоге зависит от частоты изменений в вашем каталоге. Обратите внимание на следующие условия и советы:

  • Google Search не поддерживает обновления в реальном времени.
  • Поиск Google загружает ваш канал один раз в день и обычно индексирует контент в течение двух дней (после запуска).
  • Если ожидается изменение доступности глубинных ссылок, используйте availabilityStarts и availabilityEnds для установки точных дат.
  • Если объект больше не доступен в вашем каталоге, полностью удалите его из ленты.

Ссылка

Обзор структуры корма

Лента действий в игре имеет следующую структуру:

диаграмма игрового фида

Конверт потока данных

Конверт фида данных — это объект верхнего уровня в фиде действий Play Game. Он содержит массив объектов разметки контента (сущностей VideoGame (Work)), представляющих все видеоигры в вашем каталоге.

Свойство Ожидаемый тип Описание
@context URL Обязательно . Установите http://schema.org
@type Текст Обязательно . Установите значение DataFeed .
dateModified ДатаВремя Обязательно . Дата и время последнего изменения фида в формате ISO 8601 (включая часовой пояс).
dataFeedElement Вещь Обязательно . Сущности вашего игрового каталога.

Шаблон

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dateModified": "2018-07-20T00:44:51Z",
  "dataFeedElement": [
    {  },
    {  },
    {  },
    ...
  ]
}
    

Объекты разметки контента

Объект разметки контента представляет собой отдельную сущность в вашем каталоге: VideoGame (Work). Объект содержит идентификатор контента и канонический URL-адрес, а также помогает описывать контент с помощью метаданных. Объект разметки контента для VideoGame (Work) имеет свойство exampleOfWork , связывающее его с объектом VideoGame(Edition). Этот объект VideoGame(Edition) может содержать массив объектов разметки Action, что позволяет связать контент с несколькими объектами разметки Action. Например, контент может иметь отдельный объект разметки Action для каждого региона.

Объекты разметки действий

Объект разметки «Действие» описывает глубинную ссылку, ведущую пользователей в игру, и необходимый для игры уровень доступа. Этот объект является свойством ( potentialAction ) объекта разметки контента. Для действий «Игра» используйте объект спецификации доступа «Действие», чтобы указать ограничения доступа.

Свойство Ожидаемый тип Описание
@type Текст Обязательно . Всегда устанавливайте PlayGameAction .
gameAvailabilityType GameAvailabilityEnumeration или текст Обязательно . Указывает тип доступности игрового контента, связанного с этим действием, например, полная версия или демоверсия. Допустимые значения: DEMO и FULL .
additionalType Текст Обязательно . Указывает тип игрового действия, связанного с этой игрой. Допустимые значения:
  • StreamingPlayAction — указывает, что игра доступна для потоковой трансляции онлайн.
  • DownloadPlayAction — указывает, что игра доступна для загрузки.
target Точка входа Обязательно . Целевой объект , обеспечивающий отображение глубоких ссылок на различные платформы Google.
target.@type Текст Обязательно . Всегда устанавливайте EntryPoint .
target.urlTemplate URL Обязательно . Глубокая ссылка , которая перенаправляет пользователей в ваше приложение или платформу и запускает воспроизведение игры.
target.inLanguage Текст Необязательно . Исходный язык серии в формате BCP 47 .
target.actionPlatform Текст Обязательно . Платформы, сопоставленные с urlTemplate . Действия в игре поддерживают следующие значения:
  • http://schema.org/DesktopWebPlatform
  • http://schema.org/MobileWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/AndroidTVPlatform
  • http://schema.org/IOSPlatform

Требования см. в разделе Типы платформ .

actionAccessibilityRequirement ActionAccessSpecification Требуется . Объект спецификации доступа к действию , описывающий требования к доступу к содержимому. Подробнее см. в разделе Свойства спецификации доступа к действию .

Шаблон

"potentialAction": {
  "@type": "PlayGameAction",
  "target": [
    {  },
    {  }
  ],
  "actionAccessibilityRequirement": [
    {  },
    {  }
  ]
}
    

Цель

Объект target обеспечивает сопоставление глубокой ссылки с различными платформами Google. Этот объект является свойством ( target ) объекта разметки Action . Свойство urlTemplate содержит глубокую ссылку, а свойство actionPlatform — платформы, поддерживающие эту глубокую ссылку.

Пример

"target": [
  {
    "@type": "EntryPoint",
    "urlTemplate": "http://www.example.com/game007?autoplay=true",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://schema.org/AndroidTVPlatform",
      "http://schema.org/IOSPlatform"
    ]
  },
  {
    "@type": "EntryPoint",
    "urlTemplate": "http://www.example.com/mobile/game007?autoplay=true",
    "actionPlatform": [
      "http://schema.org/MobileWebPlatform"
    ]
  }
]
    

Спецификация доступа к действию

Объект спецификации доступа Action описывает требования к доступу к контенту в зависимости от региона и периода времени. Этот объект является свойством actionAccessibilityRequirement объекта разметки Action .

Пример цели с двумя глубокими ссылками

"target": [
  {
    "@type": "EntryPoint",
    "urlTemplate": "http://www.example.com/game007?autoplay=true",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://schema.org/AndroidTVPlatform",
      "http://schema.org/IOSPlatform"
    ]
  },
  {
    "@type": "EntryPoint",
    "urlTemplate": "http://www.example.com/mobile/game007?autoplay=true",
    "actionPlatform": [
      "http://schema.org/MobileWebPlatform"
    ]
  }
]
    

Спецификация доступа к действию

Объект спецификации доступа Action описывает требования к доступу к контенту в зависимости от региона и периода времени. Этот объект является свойством actionAccessibilityRequirement объекта разметки Action.

Свойство Ожидаемый тип Описание
actionAccessibilityRequirement.@type Текст Обязательно . Всегда устанавливайте значение ActionAccessSpecification .
actionAccessibilityRequirement.category Текст Требуется . Требование доступа к контенту. Допустимые значения и дополнительная информация см. в разделе «Тип платного доступа» .

Если объект представляет собой группу контента, необходимо установить категорию, соответствующую наименее ограничивающим требованиям к доступу к этому контенту. Например, если к игре предоставляется бесплатный доступ с помощью nologinrequired и по подписке, установите категорию nologinrequired .

actionAccessibilityRequirement.availabilityStarts Дата Обязательно . Дата, начиная с которой действие станет доступно, в формате ISO 8601 (включая часовой пояс). Дату можно указать в будущем.
  • Должно быть равно или больше 72 часов после availabilityStarts .
  • Если контент всегда доступен после публикации, установите эту дату на 20 лет с текущей даты.

Мы требуем, чтобы соответствующий объект был указан в ленте как минимум за семь дней до даты availabilityStarts . Это повышает вероятность своевременного появления игры на Google Поверхностях.

actionAccessibilityRequirement.availabilityEnds Дата Обязательно . Дата, после которой действие станет недоступно, в формате ISO 8601 (включая часовой пояс). Дату можно указать в будущем.
  • Должно быть равно или больше 72 часов после availabilityStarts .
  • Если контент всегда доступен после публикации, установите эту дату на 20 лет с текущей даты.

Мы требуем, чтобы любые обновления даты availabilityEnds в ленте availabilityEnds были сделаны не менее чем за семь дней до этой даты. Это увеличивает вероятность того, что игра перестанет отображаться на Google availabilityEnds покрытиях в этот день.

actionAccessibilityRequirement.eligibleRegion Страна , город , штат , геоформа или текст Обязательно . Регионы, в которых доступен контент. Если контент доступен глобально, используйте специальную строку EARTH . Чтобы понять, что требуется, см. раздел «Свойства GeoShape» .
actionAccessibilityRequirement.ineligibleRegion Страна , город , штат , геоформа или текст Обязательно, если применимо . Регионы, где контент ограничен. Вам не нужно предоставлять это свойство, если контент доступен везде в пределах eligibleRegion .

Чтобы понять, что требуется, см. Свойства GeoShape .

actionAccessibilityRequirement.requiresSubscription МедиаПодписка Обязательно, если применимо . Сведения о подписке, необходимые пользователям для доступа к контенту. Подробнее см. в разделе «Свойства подписки на медиа» .
  • Укажите это свойство, если categorysubscription .
actionAccessibilityRequirement.expectsAcceptanceOf Предложение Обязательно, если контент требует покупки . Подробности предложения, связанного с контентом. Укажите информацию о цене в следующих случаях:
  • Разовая покупка контента ( rental или purchase )
  • Контент, основанный на подписке, требующий дополнительной покупки от подписчиков ( subscription )

Если цена равна 0,00, полностью удалите объект Offer и установите для actionAccessibilityRequirement.category значение free . Подробнее см. в разделе Свойства Offer .

Спецификация подписки на медиа

Объект подписки на медиа-контент описывает детали подписки, необходимые для доступа к контенту. Этот объект является свойством requiresSubscription объекта спецификации доступа Action .

Важно: это обязательное поле, если actionAccessibilityRequirement.category — это subscription , а ваша подписка включает несколько пакетов или уровней или поддерживает дополнения. Не указывайте это поле, если ваша подписка одноуровневая и предоставляет доступ ко всему контенту в каталоге.
Свойство Ожидаемый тип Описание
requiresSubscription.@type Текст Обязательно . Всегда выбирайте MediaSubscription .
requiresSubscription.@id URL Обязательно . Уникальный идентификатор подписки. Если контент доступен по разным подпискам, каждая подписка должна иметь уникальный идентификатор.
requiresSubscription.name Текст Обязательно . Название подписки. Обратите внимание на следующее:
  • Если контент доступен по разным подпискам, это имя должно совпадать с именем в вашей системе аутентификации пользователей. Например, если пользователь может получить доступ к контенту по подписке с названием «Пакет 1», но система аутентификации использует имя PKG1, используйте PKG1.
requiresSubscription.sameAs URL Необязательно . Страница с описанием подписки.
requiresSubscription.identifier Текст Обязательно, если categorysubscription , а commonTier — false. Уникальная строка для этой подписки, предоставляющая доступ к группе контента в вашем каталоге медиа.
  • Google рекомендует использовать следующий синтаксис для identifier : доменное имя + двоеточие (:) + уровень доступа к контенту. Примеры: example.com , example.com:premium , example.com:sports
requiresSubscription.commonTier Булевое значение Обязательно, если выбрана категория подписки. Подробнее о commonTier читайте в документации по требованиям Common Tier .

Предложение недвижимости

Объект предложения описывает цену, связанную с контентом. Этот объект является свойством ( expectsAcceptanceOf ) объекта спецификации доступа Action . Его можно использовать для двух целей:

  • Чтобы предоставить сведения о покупке игры, для этого варианта использования actionAccessibilityRequirement.category следует установить на purchase .
  • Чтобы предоставить сведения о покупке игры, когда она продается со скидкой, для этого варианта использования actionAccessibilityRequirement.category следует установить значение purchase , а также следует предоставить два предложения на каждое действие: одно для предоставления сведений о розничной цене, а другое — о цене распродажи.

Свойство Ожидаемый тип Описание
expectsAcceptanceOf.@type Текст Обязательно - Всегда устанавливайте значение Offer .
expectsAcceptanceOf.name Текст Необязательно - Название предложения.
expectsAcceptanceOf.priceSpecification ЦенаСпецификация Обязательно - Информация о ценах на игру.
expectsAcceptanceOf.priceSpecification.@type Текст Обязательно — всегда устанавливайте значение UnitPriceSpecification .
expectsAcceptanceOf.priceSpecification.price Число Обязательно — цена покупки контента. Цена должна быть ненулевым положительным значением. Для игр с ценой 0.00 установите для actionAccessibilityRequirement.category значение `free`.
expectsAcceptanceOf.priceSpecification.priceCurrency Текст Обязательно - Валюта цены в 3-буквенном формате ISO 4217 .
expectsAcceptanceOf.priceSpecification.priceType PriceTypeПеречисление или текст Обязательно, если применимо - Тип цены, указанный в предложении.
Если actionAccessibilityRequirement.category имеет значение purchase , это обязательное свойство, которое может принимать только 2 значения:
  • https://schema.org/ListPrice — Представляет собой цену игры по прейскуранту.
  • https://schema.org/SalePrice — Представляет цену продажи игры (обычно действующую в течение ограниченного периода времени).

При предоставлении информации о ценах распродажи обязательными являются оба адреса: https://schema.org/ListPrice и https://schema.org/SalePrice .
expectsAcceptanceOf.seller Организация Организация, предлагающая покупку контента.
expectsAcceptanceOf.seller.@type Текст Всегда устанавливайте значение Organization .
expectsAcceptanceOf.seller.name Текст Имя продавца.
expectsAcceptanceOf.seller.sameAs URL URL-адрес веб-страницы, идентифицирующей продавца; например, домашняя страница продавца.

Для каждого из поддерживаемых типов платного доступа пример ниже дает представление о том, как необходимо создавать actionAccessibilityObject :

Бесплатно (вход в систему не требуется)

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "nologinrequired",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Бесплатно (вход в систему не требуется) с пробным периодом в один час

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "nologinrequired",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "eligibleDuration": 60
    }
  }
}

Бесплатно (требуется вход в систему)

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "free",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Разовая покупка с распродажей

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "purchase",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": [
      {
        "@type": "Offer",
        "name": "Original Price",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 7.99
          "priceCurrency": "USD"
          "priceType": "https://schema.org/ListPrice"
        },
        "seller": {
          "@type": "Organization",
          "name": "Example",
          "sameAs": "http://www.example.com/"
          }
        },
        {
          "@type": "Offer",
          "name": "Sale Price",
          "priceSpecification": {
            "@type": "UnitPriceSpecification",
            "price": 4.99
            "priceCurrency": "USD"
            "priceType": "https://schema.org/SalePrice"
          },
          "seller": {
          "@type": "Organization",
          "name": "Example",
          "sameAs": "http://www.example.com/"
        }
      }
    ]
  }
}

Разовая покупка

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "purchase",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "price": 7.99,
      "priceCurrency": "USD",
      "seller": {
        "@type": "Organization",
        "name": "Example",
        "sameAs": "http://www.example.com/"
      }
    }
  }
}

Одноуровневые/многоуровневые/дополнительные подписки

{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Многоуровневые подписки и дополнения

Ниже описывается, как применяются многоуровневые подписки и дополнения:

  • В одноуровневой модели подписки поставщик услуг предлагает один уровень подписки. Все подписчики получают доступ к одному и тому же контенту, независимо от тарифного плана.
  • В многоуровневой модели подписки поставщик услуг предлагает несколько уровней подписки, например, «Золотой», «Серебряный» и «Бронзовый». Пользователи с подпиской верхнего уровня получают доступ ко всему контенту нижнего уровня. Однако пользователи с подпиской нижнего уровня не могут получить доступ к контенту верхнего уровня. пример контента 1
  • В модели подписки с дополнительными услугами поставщик услуг позволяет пользователям расширять свои права и добавлять контент к базовой подписке. Пользователи могут добавлять любое количество контента. пример контента 2

Общий шаблон сущности

Это пример общего шаблона сущности:

Шаблон

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dateModified": "2018-07-20T00:44:51Z",
  "dataFeedElement": [
    {  },
    {
       "@context": ["http://schema.org", {"@language": "en"}],
       "@type": "VideoGame",
       "@id": "http://www.example.com/game007",
       "url": "http://www.example.com/game007",
       "name": "Games Bond 007",
       "exampleOfWork": [
        {  },
        {
           "@type": "VideoGame",
            "@id": "http://www.example.com/game007Stadia",
            "url": "http://www.example.com/game007Stadia",
            "name": "Games Bond 007",
            // Other properties
           "potentialAction": [
              {  },
              {
                  "@type": "PlayGameAction",
                  "target": [
                  {  },
                  {  }
                  ],
                 "actionAccessibilityRequirement": [
                 {  },
                 {  }
                 ]
              }
          ],
    ...
    }
  ]
}

Определения структурированных типов данных

В этом разделе представлена ​​подробная информация о свойствах разметки контента для типа сущности VideoGame . Для отображения вашего контента в результатах поиска необходимо включить перечисленные здесь обязательные свойства. Мы также рекомендуем вам включить настоятельно рекомендуемые свойства, чтобы предоставить больше информации о вашем контенте. Это улучшит пользовательский опыт и поможет нам в согласовании сущностей с Google Knowledge Graph.

Таблица спецификаций VideoGame (Work)

Свойство Ожидаемый тип Описание
@context Текст Обязательно . Всегда задаётся значение ["http://schema.org", {"@language": "xx"}] .
  • Значение Where xx представляет язык строк в ленте. Для каждого контекста корневой сущности необходимо задать @language , соответствующий коду языка в формате BCP 47. Например, если выбран испанский язык, предполагается, что имена будут на испанском языке, даже если субтитры/дублирование на английском.
@type Текст Обязательно . Всегда выбирайте VideoGame .
@id URL Обязательно . Идентификатор контента в формате URI, например, https://example.com/1234abc. @id должен соответствовать следующим требованиям:
  • Глобально уникальный для вашего каталога.
  • Статичный. Идентификатор должен быть стабильным и не меняться со временем, даже если изменяется свойство url игры. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
  • В форме унифицированного идентификатора ресурса (URI).
  • Домен, используемый для значения @id, должен принадлежать вашей организации.

Поскольку url сущности соответствует всем требованиям идентификатора, мы рекомендуем использовать url сущности в качестве её @id . Подробнее см. в разделе «Идентификатор» .

url URL Обязательно . Канонический URL-адрес контента, который Google использует для сопоставления контента в вашей ленте с контентом в базах данных Google. url должен соответствовать следующим требованиям:
  • url должен быть глобально уникальным.
  • url должен содержать рабочий канонический URL, который может сканировать Google.

Для получения глубокой ссылки на воспроизведение см. свойство urlTemplate целевого объекта.

name Текст Название игры.
  • Используйте массив для перечисления имён на разных языках. Подробнее см. в примере «Несколько регионов и языков» .
  • Обратите внимание, что для каждой локали (пары «язык-страна») поддерживается только одно имя.
description Текст Настоятельно рекомендуется. Краткий обзор игры. Лимит — 300 символов.
genre Текст Упорядоченный список всех соответствующих жанров. Например: ["Action", "Role playing"]
image ImageObject Настоятельно рекомендуется. Изображения, относящиеся к игре. Подробнее об обязательных и необязательных свойствах image см. в разделе «Свойства изображения» .
applicationCategory Текст Необязательно. Тип программного приложения. Установите значение Game .
exampleOfWork Видеоигра Обязательно. Издание VideoGame . Эта сущность VideoGame (Edition) также содержит информацию о глубинной ссылке. Подробнее см. в таблице спецификаций VideoGame (Edition) .
playMode Текстовый или игровой режим Необязательный параметр . Указывает, является ли игра многопользовательской, кооперативной или однопользовательской. Игра может быть отмечена как многопользовательская, кооперативная и однопользовательская одновременно. Принимает следующие значения:
  • SINGLE_PLAYER
  • LOCAL_MULTI_PLAYER
  • ONLINE_MULTI_PLAYER
  • LOCAL_COOP
  • ONLINE_COOP

Таблица спецификаций VideoGame (Edition)

Свойство Ожидаемый тип Описание
@type Текст Обязательно . Всегда выбирайте VideoGame .
@id URL Обязательно . Идентификатор контента в формате URI (например, https://example.com/1234abc.@id ) должен соответствовать следующим требованиям:
  • Глобально уникальный для вашего каталога.
  • Статичный. Идентификатор должен быть стабильным и не меняться со временем, даже если изменяется свойство url игры. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
  • В форме унифицированного идентификатора ресурса (URI).
  • Домен, используемый для значения @id, должен принадлежать вашей организации.

Поскольку url сущности соответствует всем требованиям идентификатора, мы рекомендуем использовать url сущности в качестве её @id . Подробнее см. в разделе «Идентификатор» .

url URL Обязательно . Канонический URL-адрес контента, который Google использует для сопоставления контента в вашей ленте с контентом в базах данных Google. url должен соответствовать следующим требованиям:
  • url должен быть глобально уникальным.
  • url должен содержать рабочий канонический URL, который может сканировать Google.

Для получения глубокой ссылки на воспроизведение см. свойство urlTemplate целевого объекта.

name Текст Название игры.
  • Используйте массив для перечисления имён на разных языках. Подробнее см. в примере «Несколько регионов и языков» .
  • Обратите внимание, что для каждой локали (пары «язык-страна») поддерживается только одно имя.
description Текст Настоятельно рекомендуется. Краткий обзор игры. Лимит — 300 символов.
genre Текст Упорядоченный список всех соответствующих жанров. Например: ["Action", "Role playing"]
image ImageObject Настоятельно рекомендуется. Изображения, связанные с игрой. Дополнительные сведения об обязательных и необязательных свойствах, включаемых в image , см. в разделе Свойства изображения .
applicationCategory Текст Необязательно. Тип программного приложения. Установите значение Game .
playMode Текст или GamePlayMode Необязательно . Указывает, является ли эта игра многопользовательской, кооперативной или однопользовательской. Игра может быть помечена как многопользовательская, кооперативная и одиночная одновременно. Принимает следующие значения:
  • SINGLE_PLAYER
  • LOCAL_MULTI_PLAYER
  • ONLINE_MULTI_PLAYER
  • LOCAL_COOP
  • ONLINE_COOP
potentialAction ИгратьИграДействие

Обязательно, если применимо . Объект разметки Action , предоставляющий подробную информацию о действии.

Используйте массив, чтобы указать разные глубокие ссылки в нескольких регионах. Дополнительные сведения см. в примере с несколькими регионами и языками .

gameEdition Текст

Требуется . Издание этой игры.

Например, популярная игра «Shadow of the Tomb Raider» предлагается в четырех изданиях: «Croft Edition», «Standard Edition», «Digital Deluxe Edition» и «Ultimate Edition».

gamePlatform Текст Требуется . Платформа или электронная система, используемая для игры в видеоигру.
releasedEvent ПубликацияСобытие Настоятельно рекомендуется . PublicationEvent используется для указания исходного (глобального или локального) выпуска контента издателем.
releasedEvent.@type Текст Требуется . Обязательно всегда устанавливайте для этого свойства значение PublicationEvent .
releasedEvent.Location Страна Требуется . Регионы, связанные с этим событием запуска.

Используйте коды ISO 3166 для стран. Чтобы указать любую точку мира, установите значение EARTH .

releasedEvent.startDate Дата или время Рекомендуется . Требуется для ExclusiveEvent . Дата начала публикации объекта.
releasedEvent.endDate Дата или время Необязательно . Это дата истечения срока действия прав на контент.
releasedEvent.publishedBy Организация или лицо Необязательно . Организация или лицо, опубликовавшее этот объект.
contentRating Текст Требуется для игр для взрослых, в противном случае настоятельно рекомендуется . Общий рейтинг контента. Если рейтинг контента указан в виде текстовой строки, принимаются два варианта:
  • Рейтинговое агентство поставило рейтинг перед рейтингом с пробелом между ними. Например, рейтинг «Зрелый», присвоенный агентством «Entertainment Software Rating Board» в США, должен обозначаться как Entertainment Software Rating Board Mature .
  • Значение RATING NOT KNOWN (без учета регистра), указывающее, что вы не знаете рейтинг игры.
publisher Организация или лицо Необязательно . Организация или лицо, опубликовавшее этот объект.
contributor Организация или лицо Необязательно . Вторичный участник этой организации.

Таблица характеристик изображения

Повторное использование действий Play Game использует схему Media Actions для фиксации требований к изображению. Дополнительную информацию см. в спецификациях схемы изображения .

Вот еще несколько требований, о которых следует помнить.

Соотношение сторон и contentAttributes Минимальное разрешение (в пикселях)
16:9, культовый постер 3840x2160
2:3, культовый плакат 1000x1500
4:3, культовый плакат 800x600
1:1, культовый плакат 600x600
3:4, культовый плакат 600x800
16:9, знаковый фон [предпочтительно] или сцена. 3840x2160
2:3, знаковый фон [предпочтительно] или сцена. 1000x1500
3:4, знаковый фон [предпочтительно] или сцена. 600x800

Требования к формату

Ниже приведены требования к формату, которых вы должны придерживаться в отношении размера, качества и т. д. изображения:

  • Включите плакаты и sceneStills в самом высоком разрешении, которые у вас есть для игры.
  • Изображение должно быть в формате JPG, PNG или WebP.
  • URL-адрес изображения должен быть доступным для сканирования и индексирования .
  • Размер файла не должен превышать 20 МБ.
  • Мы предпочитаем изображения, которые подходят как для smallFormat , так и largeFormat .
  • Изображение не должно содержать следующее:

    • Размытое, пиксельное, повернутое изображение или изображение низкого качества.
    • Нелицензионная или стоковая фотография.
    • Нагота.
    • Незаконный контент.
  • Вы можете указать размеры изображения в дополнение к тем, которые указаны в предыдущей таблице.

Примеры

В следующих разделах приведены примеры примеров фидов для различных сценариев.

Пример фида с одним объектом VideoGame

Вот пример сущности VideoGame , которая представляет игру «Space Wars Made Up Game». Имейте в виду, что этот объект должен быть заключен в конверт фида данных в файле JSON, чтобы его мог видеть Google.

{
   "@context": ["http://schema.org", {"@language": "en"}],
   "@type":"DataFeed",
   "dateModified":"2021-07-20T00:44:51Z",
   "dataFeedElement":[
      {
         "@context": ["http://schema.org", {"@language": "en"}],
         "@id":"https://www.examplegame.com/VideoGame007",
         "@type":"VideoGame",
         "url":"https://www.examplegame.com/games/VideoGame007",
         "name":"Space Wars Made Up Game",
         "description":"Space Wars offers an immersive RPG experience coupled with realistic gameplay.",
         "genre":[
            "Role playing"
         ],
         "applicationCategory":"Game",
         "publisher":{
            "name":"Made Up Media",
            "@id":"https://www.examplegame.com/uniuqe-id-org",
            "@type":"Organization"
         },
         "contributor":[
            {
               "roleName":"developer",
               "name":"Alpha Labs Man Made Studio",
               "@id":"https://www.studionice.com/uniuqe-id-alpha",
               "@type":"Organization"
            }
         ],
         "playMode":[
           "SINGLE_PLAYER", "LOCAL_MULTI_PLAYER", "ONLINE_MULTI_PLAYER", "LOCAL_COOP", "ONLINE_COOP"
         ],
         "image":[
            {
               "@context":"http://schema.org",
               "@type":"ImageObject",
               "name":"keyart_1X1_3X",
               "contentUrl":"https://lh3.googleusercontent.com/ept4",
               "copyrightHolder":{
                  "@type":"Organization",
                  "name":"Studio Nice"
               },
               "additionalProperty":[
                  {
                     "@type":"PropertyValue",
                     "name":"contentAttributes",
                     "value":[
                         "SMALLFORMAT", "LARGEFORMAT", "SCENESTILL", "CENTERED", "NOTITLE", "NOLOGO"
                     ]
                  }
               ]
            }
         ],
         "exampleOfWork":{
            "@id":"https://www.examplegame.com/VideoGame007/version/v3",
            "name":"Space Wars Made Up Game",
            "description":"Space Wars offers an immersive RPG experience coupled with realistic gameplay.",
            "gameEdition":"Early Access",
            "url":"https://www.examplegame.com/VideoGame007/version/v3/stream",
            "contentRating":[
               "Entertainment Software Rating Board Mature",
               "Pan European Game Information 12",
               "Unterhaltungssoftware Selbstkontrolle Video Game Rating System USK 12"
            ],
            "applicationCategory":"Game",
            "releasedEvent":[
               {
                  "@type":"PublicationEvent",
                  "startDate":"2020-11-30",
                  "location":{
                     "@type":"Country",
                     "name":"US"
                  }
               }
            ],
            "potentialAction":{
               "@type":"PlayGameAction",
               "gameAvailabilityType":"DEMO",
               "target":[
                  {
                     "@type":"EntryPoint",
                     "urlTemplate":"https://www.examplegame.com/VideoGame007/play",
                     "actionPlatform":[
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.org/AndroidPlatform",
                        "http://schema.org/AndroidTVPlatform",
                        "http://schema.org/IOSPlatform"
                     ]
                  }
               ],
               "actionAccessibilityRequirement":[
                  {
                     "@type":"ActionAccessSpecification",
                     "availabilityStarts": "2015-01-01T00:00Z",
                     "availabilityEnds": "2015-12-31T00:00Z",
                     "eligibleRegion":{
                        "@type":"Country",
                        "name":[
                           "US"
                        ]
                     },
                     "category":"subscription",
                     "requiresSubscription":{
                        "@type":"MediaSubscription",
                        "name":"",
                        "@id":""
                     }
                  }
               ],
            },
            "gamePlatform": "Google Stadia",
            "publisher":{
               "name":"Made Up Media",
               "@id":"https://www.examplegame.com/uniuqe-id-org",
               "@type":"Organization"
            },
            "contributor":[
               {
                  "roleName":"developer",
                  "name":"Alpha Labs Man Made Studio",
                  "@id":"https://www.studionice.com/uniuqe-id-alpha",
                  "@type":"Organization"
               }
            ]
         }
      }
   ]
}

Представление образца изображения с двумя игровыми персонажами

Иллюстрация женщины и птицы в поле.
{
  "@context": [ "http://schema.org", { "@language": "en" } ],
  "@type": "VideoGame",
  "@id": "http://www.examplegame.com/videoGame1",
  "url": "http://www.examplegame.com/videoGame1",

  ...,

  "image": {
    "@context": "http://schema.org",
    "@type": "ImageObject",
    "name": "Mauren and Lord Wingflap!",
    "Keywords": "Mauren, Lord Wingflap the Destroyer",
    "contentUrl": "http://example.com/images/mountain-view.jpg",
    "character": [
      { "@type": "Person", "name": "Mauren" },
      { "@type": "Person", "name": "Lord Wingflap the Destoyer" }
    ],
    "copyrightHolder": {
      "@type": "Organization",
      "name": " ExampleOrganization Studios, Inc."
    },
    "inLanguage": "en-US",
    "audience": {
        "@type": "Audience",
        "geographicArea": [{"@type": "Country", "name": "US"},
                           {"@type": "Country", "name": "GB"}]
    },
    "additionalProperty": [
      {
        "@type": "PropertyValue",
        "name": "contentAttributes",
        "value": [ "iconic", "background", "rightCentered", "noTitle", "noLogo",
                   "noCopyright", "noMatte", "smallFormat", "largeFormat"]
      }
    ]
  }
}

Работа с несколькими регионами и языками (интернационализация)

Сущность VideoGame может быть доступна в нескольких регионах и на разных языках.

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "VideoGame",
  "@id": "http://www.example.com/my_favorite_game",
  "url": "http://www.example.com/my_favorite_game",
  "name": [
    {
      "@language": "en-us",
      "@value": "My Favorite Game"
    },
    {
      "@language": "es-mx",
      "@value": "mi juego favorito"
    },
    {
      "@language": "ja-jp",
      "@value": "私のfavourite game"
    }
  ],
  "description": [
    {
      "@language": "en-us",
      "@value": "Jenny meets Paul."
    },
    {
      "@language": "es-mx",
      "@value": "Jenny conoce a paul."
    },
    {
      "@language": "ja-jp",
      "@value": "PaulとJennyが会う。"
    }
  ],
  "potentialAction": [
    {
      "@type": "PlayGameAction",
      "gameAvailabilityType": "DEMO",
      "additionalType": "DownloadPlayAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/my_favorite_game?autoplay=true",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform"
        ]
      }
      "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "purchase",
        "availabilityStarts": "2021-06-24T11:00:00Z",
        "availabilityEnds": "2041-06-24T11:00:00Z",
        "eligibleRegion": [
          {
            "@type": "Country",
            "name": "US"
          },
          {
            "@type": "Country",
            "name": "MX"
          }
        ]
      },
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "contentLanguage",
          "value": [
            "en",
            "es"
          ]
        }
      ],
      "expectsAcceptanceOf": {
        "@type": "Offer",
        "priceSpecification": [
          {
            "@type": "UnitPriceSpecification",
            "price": 19.99,
            "priceCurrency": "USD",
            "priceType": "https://schema.org/ListPrice"
          },
          {
            "@type": "UnitPriceSpecification",
            "price": 360.00,
            "priceCurrency": "MXN",
            "priceType": "https://schema.org/ListPrice"
          }
        ],
        "seller": {
          "@type": "Organization",
          "name": "My Favorite Game Publisher"
        }
      }
    },
    {
      "@type": "PlayGameAction",
      "gameAvailabilityType": "DEMO",
      "additionalType": "DownloadPlayAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/jp/my_favorite_game?autoplay=true",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform"
        ]
      }
      "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "purchase",
        "availabilityStarts": "2021-07-24T11:00:00Z",
        "availabilityEnds": "2041-07-24T11:00:00Z",
        "eligibleRegion": [
          {
            "@type": "Country",
            "name": "JP"
          }
        ]
      },
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "contentLanguage",
          "value": [
            "ja"
          ]
        }
      ],
      "expectsAcceptanceOf": {
        "@type": "Offer",
        "priceSpecification": [
          {
            "@type": "UnitPriceSpecification",
            "price": 2189,
            "priceCurrency": "JPY",
            "priceType": "https://schema.org/ListPrice"
          }
        ],
        "seller": {
          "@type": "Organization",
          "name": "My Favorite Game Publisher"
        }
      }
    }
  ],
  // Other properties...
}