Dichiarare le azioni

In schema.org, un'azione rappresenta un'attività che può essere eseguita su un elemento di dati strutturati. Gmail supporta più tipi di azioni e puoi definire ciascuna con dati strutturati simili.

Azioni di riferimento

Se aggiungi il markup ai tuoi contenuti con le entità schema.org, puoi aggiungere azioni di navigazione. Ad esempio, per fornire a un'entità EmailMessage un link di destinazione ViewAction, compila la proprietà potentialAction dell'email, come nel seguente esempio:

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>

Microdati

<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>

Altri client di posta che non supportano gli schemi nelle email ignorano automaticamente questo markup.

Deep linking mobile

Le azioni rapide possono anche collegarsi direttamente ai contenuti delle app mobile su Android e iOS. Per creare un link diretto a un'app, includi URL target aggiuntivi codificati con gli schemi android-app:// e ios-app://, come mostrato negli esempi seguenti:

JSON-LD

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

Microdati

<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 l'esempio precedente di 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>

Microdati

<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>

Se l'utente non ha la tua app, l'azione lo indirizza all'URL web che fornisci.

Azioni in-app

Gmail gestisce le azioni in-app senza inviare l'utente a un altro sito web. Dichiari azioni in-app come le azioni di destinazione, ma includi informazioni aggiuntive che aiutano i client di posta elettronica (come Gmail) a gestire l'azione in linea.

Anziché dichiarare un'azione con un target, dichiara un HttpActionHandler per l'azione con la configurazione corretta.

Ad esempio, puoi aggiungere un pulsante di conferma alle email che richiedono agli utenti di approvare, confermare o riconoscere qualcosa. Quando l'utente fa clic sul pulsante, Google invia una richiesta HTTP al tuo servizio, registrando la conferma. Gli utenti possono interagire con un ConfirmAction una sola volta.

L'esempio seguente aggiunge un pulsante ConfirmAction a un'email relativa a una nota spese:

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>

Microdati

<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>

Azioni in scadenza

In molti casi, le azioni sono pertinenti solo per un periodo di tempo limitato. Le azioni associate a entità con date note, come le prenotazioni di viaggi, scadono automaticamente. Gmail non mostra l'azione dopo il termine del viaggio.

Puoi anche aggiungere esplicitamente scadenze alle azioni. Ad esempio, un'azione per ritagliare un coupon o salvare un codice offerta potrebbe essere valida solo per un periodo di tempo limitato. Per impostare la finestra temporale in cui viene visualizzata un'azione, imposta le proprietà startTime e endTime dell'azione:

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>

Microdati

<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>

Per approfondire

Per ulteriori dettagli sulle azioni, vedi: