En schema.org, una acción representa una actividad que se puede realizar en una parte de datos estructurados. Gmail admite varios tipos de acciones, y puedes definir cada una con datos estructurados similares.
Acciones de ir a
Si agregas lenguaje de marcado a tu contenido con entidades de schema.org, puedes agregar acciones para ir a ellas. Por ejemplo, para darle a una entidad EmailMessage un vínculo para ir a ViewAction, completa 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>
Otros clientes de correo electrónico que no admiten esquemas en los correos electrónicos ignoran automáticamente este lenguaje de marcado.
Vinculación directa para dispositivos móviles
Las acciones para ir también pueden vincularse directamente al contenido de las apps 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 en los siguientes ejemplos:
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-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
</div>
</div>
Si el usuario no tiene tu app, la acción lo llevará a la URL web que proporciones.
Acciones en la aplicación
Gmail controla las acciones en la app sin enviar al usuario a otro sitio web. Declaras acciones integradas en la app, como las acciones de ir a, pero incluyes información adicional que ayuda a los clientes de correo electrónico (como Gmail) a controlar la acción de forma intercalada.
En lugar de declarar una acción con un target, declara 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 o reconozcan algo. Cuando el usuario hace clic en el botón, Google envía una solicitud HTTP a tu servicio para registrar la confirmación. Los usuarios solo pueden interactuar con un 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 pertinentes durante un período limitado. Las acciones asociadas con entidades con fechas conocidas, como las reservas de viajes, vencen automáticamente. Gmail no muestra la acción después de que finaliza el viaje.
También puedes agregar explícitamente vencimientos a las acciones. Por ejemplo, una acción para recortar un cupón o guardar un código de la oferta podría ser válida solo 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 los siguientes recursos:
- Cómo controlar las solicitudes de acción
- Acciones seguras
- Vinculación directa en Android
- Vinculación directa en iOS