Aktionen deklarieren

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

Aufrufaktionen

Wenn Sie Ihren Inhalten Markup mit Schema.org-Entitäten hinzufügen, können Sie ihnen „Wechseln zu“-Aktionen hinzufügen. Wenn Sie beispielsweise einer EmailMessage-Entität einen ViewAction-Link hinzufügen möchten, füllen Sie das Attribut potentialAction der E-Mail aus, wie im folgenden Beispiel gezeigt:

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>

Hinweis: Das obige Markup wird von anderen E-Mail-Clients, die Schemas in E-Mails nicht unterstützen, automatisch ignoriert.

Deeplinks für Mobilgeräte

„Zu“-Aktionen können auch direkt auf Inhalte in nativen mobilen Apps auf Android und iOS verweisen. Wenn Sie einen Deeplink zu einer App erstellen möchten, fügen Sie zusätzliche target-URLs hinzu, die mit den android-app://- und ios-app://-Schemas codiert sind, wie unten dargestellt:

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

Erweiterung 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 über die Aktion zur von Ihnen angegebenen Web-URL weitergeleitet.

In-App-Aktionen

In-App-Aktionen werden direkt in Gmail verarbeitet, ohne dass der Nutzer zu einer anderen Website weitergeleitet wird. In-App-Aktionen werden wie Wechselaktionen deklariert, enthalten aber zusätzliche Informationen, die es User-Agents (z. B. Gmail) erleichtern, die Aktion inline zu verarbeiten.

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

Sie können E-Mails beispielsweise eine Bestätigungsschaltfläche hinzufügen, über die Nutzer etwas genehmigen, bestätigen und zur Kenntnis nehmen müssen. Sobald der Nutzer auf die Schaltfläche klickt, wird von Google eine HTTP-Anfrage an Ihren Dienst gesendet, um die Bestätigung zu erfassen. Mit ConfirmAction kann nur einmal interagiert werden.

Im folgenden Beispiel wird einer E-Mail mit einem Spesenbericht eine Schaltfläche vom Typ ConfirmAction 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>

Ablaufende Aktionen

In vielen Fällen sind Aktionen nur für einen begrenzten Zeitraum relevant. Aktionen, die mit Entitäten mit bekannten Terminen verknüpft sind, z. B. Reisebuchungen, laufen automatisch ab. In Gmail wird die Aktion nicht angezeigt, nachdem die Fahrt vorbei ist.

Ablaufzeiten können auch explizit zu Aktionen hinzugefügt werden. So ist beispielsweise eine Aktion zum Schneiden eines Gutscheins oder zum Speichern eines Angebotscodes möglicherweise nur für eine begrenzte Zeit gültig. Legen Sie die Eigenschaften startTime und endTime der Aktion fest, um das Zeitfenster für die Anzeige einer Aktion festzulegen:

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