Действие в 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>
Дальнейшее чтение
Дополнительные сведения о действиях см. в разделах: