Aktionen deklarieren

Eine Aktion auf schema.org steht für ein Verb oder eine Aktivität, die für strukturierte Daten ausgeführt werden kann. Es werden mehrere Arten von Aktionen unterstützt, die alle mit ähnlichen strukturierten Daten definiert werden können.

Go-To-Aktionen

Wenn Sie Ihren Inhalten Markup mit schema.org-Entitäten hinzufügen, können Sie Go-To-Aktionen für diese Entitäten hinzufügen. Wenn beispielsweise eine EmailMessage-Entität einen ViewAction-Go-To-Link haben soll, füllen Sie das Attribut potentialAction der E-Mail wie im folgenden Beispiel aus:

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>

Mikrodaten

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

Beachten Sie, dass das obige Markup automatisch von anderen E-Mail-Clients ignoriert wird, die keine Schemas in E-Mails unterstützen.

Mobile Deeplinks

Go-To-Aktionen können auch direkt mit Inhalten in nativen mobilen Apps für Android und iOS verknüpft werden. Für Deeplinks zu einer App fügen Sie zusätzliche target-URLs hinzu, die mit dem Schema android-app:// und dem Schema ios-app:// codiert sind (siehe unten):

JSON-LD

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

Mikrodaten

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

Erweitern des vorherigen EmailMessage-Beispiels:

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>

Mikrodaten

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

Wenn der Nutzer Ihre App nicht hat, wird er durch die Aktion an die von Ihnen angegebene Web-URL weitergeleitet.

In-App-Aktionen

In-App-Aktionen werden direkt in Gmail ausgeführt, ohne den Nutzer auf eine andere Website weiterzuleiten. In-App-Aktionen sind wie Go-To-Aktionen deklariert, enthalten jedoch zusätzliche Informationen, durch die User-Agents wie Gmail die Aktion inline ausführen können.

Anstatt eine Aktion mit einem target zu deklarieren, müssen Sie für die Aktion eine HttpActionHandler mit der richtigen Konfiguration deklarieren.

Beispielsweise können Sie eine Schaltfläche zum Bestätigen von E-Mails hinzufügen, in denen Nutzer aufgefordert werden, etwas zu genehmigen, zu bestätigen und zu bestätigen. Sobald der Nutzer auf die Schaltfläche klickt, wird von Google eine HTTP-Anfrage an Ihren Dienst gesendet, in der die Bestätigung aufgezeichnet wird. Mit ConfirmAction kann nur einmal interagiert werden.

Im folgenden Beispiel wird einer E-Mail zu einer Spesenabrechnung eine ConfirmAction-Schaltfläche hinzugefügt:

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>

Mikrodaten

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

Auslaufende Aktionen

In vielen Fällen sind Aktionen nur für einen begrenzten Zeitraum relevant. Aktionen, die Entitäten mit bekannten Daten zugeordnet sind, z. B. Reisebuchungen, laufen automatisch ab. In Gmail wird die Aktion nach der Fahrt nicht angezeigt.

Ablaufzeiten können auch explizit Aktionen hinzugefügt werden. So ist es beispielsweise möglich, dass eine Aktion zum Abschneiden eines Gutscheins oder zum Speichern eines Angebotscodes nur für einen begrenzten Zeitraum gültig ist. Um das Zeitfenster für die Anzeige einer Aktion festzulegen, lege die Eigenschaften startTime und endTime der Aktion fest:

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>

Mikrodaten

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

Weiterführende Literatur

Weitere Informationen zu Aktionen finden Sie unter: