Dichiara le azioni

Un'azione in schema.org rappresenta un verbo o un'attività che può essere eseguita su un dato strutturato. Sono supportati più tipi di azioni, che possono essere tutti definiti con dati strutturati simili.

Azioni consigliate

Se aggiungi markup ai tuoi contenuti con entità schema.org, puoi aggiungere azioni Vai a per tali entità. Ad esempio, per fare in modo che un'entità EmailMessage abbia un link Vai a ViewAction, compila la proprietà potentialAction dell'email, come nell'esempio seguente:

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>

Tieni presente che il markup sopra riportato viene ignorato automaticamente dagli altri client di posta che non supportano gli schemi nelle email.

Link diretti per i dispositivi mobili

Le azioni di spostamento possono anche rimandare direttamente ai contenuti nelle app native per dispositivi mobili 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 di seguito:

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

Estensione dell'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://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
 </div>
</div>

Se l'utente non dispone della tua app, l'azione lo reindirizza all'URL web che hai fornito.

Azioni in-app

Le Azioni in-app vengono gestite in loco, all'interno di Gmail, senza indirizzare l'utente a un altro sito web. Le azioni in-app sono dichiarate come azioni pertinenti, ma contengono informazioni aggiuntive che consentono agli user agent (come Gmail) di gestire l'azione in linea.

Anziché dichiarare un'azione con un target, devi dichiarare 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 e confermare qualcosa. Quando l'utente fa clic sul pulsante, Google emette una richiesta HTTP al tuo servizio, con registrazione della conferma. È possibile interagire con ConfirmAction una sola volta.

Nell'esempio seguente viene aggiunto 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, scadranno automaticamente. Gmail non mostra l'azione una volta trascorso il viaggio.

Le scadenze possono anche essere aggiunte esplicitamente alle azioni. Ad esempio, l'azione di ritagliare un coupon o salvare un codice offerta potrebbe essere valida solo per un periodo di tempo limitato. Per impostare l'intervallo di tempo per la visualizzazione di un'azione, imposta le relative proprietà startTime e 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>

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: