Eine Aktion in schema.org stellt ein Verb oder eine Aktivität dar, 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 Ihrem Inhalt Markup mit schema.org-Entitäten hinzufügen, können Sie dafür „Go-To“-Aktionen hinzufügen. Wenn Sie beispielsweise für eine EmailMessage
-Entität einen ViewAction
-Link erstellen möchten, füllen Sie das Attribut potentialAction
der E-Mail aus, wie im folgenden Beispiel:
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>
Das oben stehende Markup wird von anderen E-Mail-Clients, die Schemas in E-Mails nicht unterstützen, automatisch ignoriert.
Mobile Deeplinks
Go-To-Aktionen können auch direkt zu Inhalten in nativen mobilen Apps auf Android und iOS verlinken. Wenn Sie einen Deeplink zu einer App erstellen möchten, fügen Sie zusätzliche target
-URLs ein, die mit den Schemas android-app://
und ios-app://
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 durch die Aktion zur von Ihnen angegebenen Web-URL weitergeleitet.
In-App-Aktionen
In-App-Aktionen werden direkt in Gmail ausgeführt, ohne dass der Nutzer zu einer anderen Website weitergeleitet wird. In-App-Aktionen werden wie Go-To-Aktionen 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 ein HttpActionHandler
für die Aktion mit der richtigen Konfiguration deklarieren.
Sie können beispielsweise E-Mails, in denen Nutzer etwas genehmigen, bestätigen oder zur Kenntnis nehmen müssen, eine Bestätigungsschaltfläche hinzufügen. Sobald der Nutzer auf die Schaltfläche klickt, wird von Google eine HTTP-Anfrage an Ihren Dienst gesendet, um die Bestätigung zu erfassen. ConfirmAction
kann nur einmal verwendet werden.
Im folgenden Beispiel wird einer E-Mail zu einem Spesenabrechnungsbericht die Schaltfläche 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 Daten verknüpft sind, z. B. Reisebuchungen, laufen automatisch ab. Nach der Reise wird die Aktion in Gmail nicht mehr angezeigt.
Ablaufzeiten können auch explizit Aktionen hinzugefügt werden. So kann es sein, dass das Speichern eines Gutscheins oder Angebots nur für einen begrenzten Zeitraum möglich ist. Wenn Sie das Zeitfenster für die Anzeige einer Aktion festlegen möchten, legen Sie die Attribute 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 hier: