Uma ação no schema.org representa um verbo ou atividade que pode ser realizada em um dado estruturado. Vários tipos de ações são compatíveis e podem ser definidos com dados estruturados semelhantes.
Ações de direcionamento
Se você adicionar marcações ao seu conteúdo com entidades do schema.org, poderá adicionar ações de direcionamento para elas. Por exemplo, para fazer com que uma entidade EmailMessage
tenha um link de direcionamento ViewAction
, preencha a propriedade potentialAction
do e-mail, como no exemplo a seguir:
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>
Microdados
<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>
A marcação acima é ignorada automaticamente por outros clientes de e-mail que não são compatíveis com esquemas em e-mails.
Links diretos para dispositivos móveis
As ações de direcionamento também podem vincular diretamente ao conteúdo em apps nativos para dispositivos móveis no
Android e
iOS. Para criar um link direto para
um app, inclua outros URLs target
codificados com os esquemas android-app://
e ios-app://
, conforme mostrado abaixo:
JSON-LD
"target": [
“<web url>”,
“android-app://<android package name>/<scheme>/<host>/<path+query>”,
“ios-app://<App store ID>/<scheme>/<host><path+query>"
]
Microdados
<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>"/>
Estendendo o exemplo anterior de 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>
Microdados
<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>
Se o usuário não tiver o app, a ação o levará para o URL da Web fornecido.
Ações no aplicativo
As Ações no app são processadas no local, dentro do Gmail, sem direcionar o usuário para outro site. As Ações no app são declaradas como ações de direcionamento, mas contêm informações extras que facilitam o trabalho dos user agents (como o Gmail) in-line.
Em vez de declarar uma ação com um target
, é necessário declarar um HttpActionHandler
para a ação com a configuração adequada.
Por exemplo, é possível adicionar um botão de confirmação a e-mails que exigem que os usuários aprovem, confirmem e reconheçam algo. Quando o usuário clicar no botão, uma solicitação HTTP será emitida do Google para seu serviço, registrando a confirmação. Só é possível interagir com ConfirmAction
uma vez.
O exemplo a seguir adiciona um botão ConfirmAction
a um e-mail sobre um relatório de despesas:
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>
Microdados
<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>
Ações prestes a expirar
Em muitos casos, as ações são relevantes apenas por um período limitado. As ações associadas a entidades com datas conhecidas, como reservas de viagem, expiram automaticamente. O Gmail não exibe a ação depois que a viagem termina.
As expirações também podem ser adicionadas explicitamente às ações. Por exemplo, uma ação para cortar um cupom ou salvar um código de oferta pode ser válida somente por tempo limitado. Para definir o período de exibição de uma ação, defina as propriedades startTime
e endTime
da ação:
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>
Microdados
<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>
Leitura complementar
Para mais detalhes sobre as ações, consulte:
- Como processar solicitações de ação
- Ações de proteção
- Links diretos do Android
- Links diretos para iOS