Una acción en schema.org representa un verbo o una actividad que se puede realizar en un fragmento de datos estructurados. Se admiten varios tipos de acciones, y todas se pueden definir con datos estructurados similares.
Acciones de ir a
Si agregas un lenguaje de marcado a tu contenido con entidades de schema.org, puedes agregar acciones de ir a. Por ejemplo, para que una entidad EmailMessage tenga un vínculo de ir a ViewAction, propaga la propiedad potentialAction del correo electrónico, como en el siguiente ejemplo:
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>
Microdatos
<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>
Ten en cuenta que otros clientes de correo electrónico que no admiten esquemas en los correos electrónicos ignoran automáticamente el lenguaje de marcado anterior.
Vinculación directa para dispositivos móviles
Las acciones de ir a también pueden vincularse directamente al contenido de las apps nativas para dispositivos móviles en
Android y
iOS. Para crear un vínculo directo a una app, incluye URLs target adicionales codificadas con los esquemas android-app:// y ios-app://, como se muestra a continuación:
JSON-LD
"target": [
“<web url>”,
“android-app://<android package name>/<scheme>/<host>/<path+query>”,
“ios-app://<App store ID>/<scheme>/<host><path+query>"
]
Microdatos
<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>"/>
Extensión del ejemplo 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>
Microdatos
<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>
Si el usuario no tiene tu app, la acción lo lleva a la URL web que proporcionas.
Acciones en la aplicación
Las acciones en la aplicación se controlan en el lugar, dentro de Gmail, sin enviar al usuario a otro sitio web. Las acciones en la aplicación se declaran como acciones de ir a, pero contienen información adicional que facilita que los agentes de usuario (como Gmail) controlen la acción en línea.
En lugar de declarar una acción con un target, debes declarar un HttpActionHandler para la acción con la configuración adecuada.
Por ejemplo, puedes agregar un botón de confirmación a los correos electrónicos que requieren que los usuarios aprueben, confirmen y reconozcan algo. Una vez que el usuario haga clic en el botón, Google emitirá una solicitud HTTP a tu servicio, que registrará la confirmación. Solo se puede interactuar con ConfirmAction una vez.
En el siguiente ejemplo, se agrega un botón ConfirmAction a un correo electrónico sobre un informe de gastos:
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>
Microdatos
<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>
Acciones que vencen
En muchos casos, las acciones solo son relevantes durante un período limitado. Las acciones asociadas a entidades con fechas conocidas, como las reservaciones de viajes, vencerán automáticamente. Gmail no muestra la acción después de que haya pasado el viaje.
También se pueden agregar fechas de vencimiento explícitamente a las acciones. Por ejemplo, una acción para recortar un cupón o guardar un código de oferta solo podría ser válida por un tiempo limitado. Para establecer el período durante el cual se muestra una acción, configura las propiedades startTime y endTime de la acción:
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>
Microdatos
<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>
Lecturas adicionales
Para obtener más detalles sobre las acciones, consulta lo siguiente:
- Cómo controlar las solicitudes de acciones
- Cómo proteger las acciones
- Vinculación directa de Android
- Vinculación directa de iOS