Объявить действия

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

Действия по переходу

Если вы добавляете разметку к своему контенту с помощью сущностей schema.org, вы можете добавить для них действия «Перейти». Например, чтобы добавить к сущности EmailMessage ссылку «Перейти к ViewAction , заполните свойство potentialAction этого письма, как показано в следующем примере:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ViewAction",
    "target": "https://watch-movies.com/watch?movieId=abc123",
    "name": "Watch movie"
  },
  "description": "Watch the 'Avengers' movie online"
}
</script>

Микроданные

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="target" href="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="name" content="Watch movie"/>
  </div>
  <meta itemprop="description" content="Watch the 'Avengers' movie online"/>
</div>

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

Мобильные глубокие ссылки

Действия «Перейти» также могут напрямую ссылаться на контент в нативных мобильных приложениях для Android и iOS . Для создания глубокой ссылки на приложение добавьте дополнительные target URL-адреса, закодированные с помощью схем android-app:// и ios-app:// как показано ниже:

JSON-LD

"target": [
  “<web url>”,
  “android-app://<android package name>/<scheme>/<host>/<path+query>”,
  “ios-app://<App store ID>/<scheme>/<host><path+query>"
]

Микроданные

<link itemprop="target" href="<web url>"/>
<link itemprop="target" href="android-app://<android package name>/<scheme>/<host>/<path+query>”/>
<link itemprop="target" href="ios-app://<App store ID>/<scheme>/<host>/<path+query>"/>

Расширение предыдущего примера EmailMessage :

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "name": "Watch movie",
  ... information about the movie ...
  "potentialAction": {
    "@type": "ViewAction",
    "target": [
      "https://watch-movies.com/watch?movieId=abc123",
      "android-app://com.watchmovies.app/http/watch-movies.com/watch?movieId=abc123",
      "ios-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"
    ]
  }
}
</script>

Микроданные

<div itemscope itemtype="http://schema.org/EmailMessage">
  <meta itemprop="name" content="Watch movie"/>
  ... information about the movie ...
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <meta itemprop="target" content="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="android-app://com.watchmovies.android/http/watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="ios://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
 </div>
</div>

Если у пользователя нет вашего приложения, действие перенаправит пользователя на предоставленный вами URL-адрес.

Действия в приложении

Действия в приложении обрабатываются непосредственно в Gmail, без перенаправления пользователя на другой веб-сайт. Действия в приложении объявляются так же, как действия «Перейти» , но содержат дополнительную информацию, которая упрощает обработку действий пользовательскими агентами (например, Gmail).

Вместо объявления действия с target вам необходимо объявить HttpActionHandler для действия с правильной конфигурацией.

Например, вы можете добавить кнопку подтверждения в электронные письма, требующие от пользователей одобрения, подтверждения и подтверждения чего-либо. Как только пользователь нажмёт на кнопку, Google отправит HTTP-запрос к вашему сервису, фиксирующий подтверждение. ConfirmAction можно использовать только один раз.

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

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for John's $10.13 expense for office supplies"
}
</script>

Микроданные

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Approve Expense"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
    </div>
  </div>
  <meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>

Действия с истекающим сроком действия

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

Срок действия также можно явно добавлять к действиям. Например, действие по вырезанию купона или сохранению промокода может быть действительным только в течение ограниченного времени. Чтобы задать временной интервал для отображения действия, задайте свойства startTime и endTime действия:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Save coupon",
    "handler":  {
       "@type": "HttpActionHandler",
       "url": "https://my-coupons.com/approve?couponId=abc123"
    },
    "startTime": "2015-06-01T12:00:00Z",
    "endTime": "2015-06-05T12:00:00Z"
  }
}
</script>

Микроданные

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Save coupon"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://my-coupons.com/approve?couponId=abc123"/>
    </div>
    <meta itemprop="startTime" content="2015-06-01T12:00:00Z" />
    <meta itemprop="endTime" content="2015-06-05T12:00:00Z" />
  </div>
</div>

Дополнительное чтение

Более подробную информацию о действиях см. здесь: