Eine Aktion in schema.org stellt ein Verb oder eine Aktivität dar, die für ein strukturiertes Datenelement ausgeführt werden kann. Es werden mehrere Arten von Aktionen unterstützt, die alle mit ähnlichen strukturierten Daten definiert werden können.
Aktionen zum Weiterleiten
Wenn Sie Ihrem Content mit schema.org-Entitäten Markup hinzufügen, können Sie Aktionen zum Weiterleiten hinzufügen. Wenn Sie beispielsweise für eine EmailMessage-Entität einen ViewAction-Link zum Weiterleiten erstellen möchten, füllen Sie die potentialAction-Property 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>
Das oben genannte Markup wird von anderen E-Mail-Clients, die keine Schemas in E-Mails unterstützen, automatisch ignoriert.
Mobile Deeplinks
Aktionen zum Weiterleiten können auch direkt zu Inhalten in nativen mobilen Apps unter
Android und
iOS verlinken. Wenn Sie einen Deeplink zu einer App erstellen möchten, fügen Sie zusätzliche target-URLs hinzu, die mit den Schemas android-app:// und ios-app:// codiert sind, wie unten gezeigt:
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 zu der 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 Aktionen zum Weiterleiten 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 einen HttpActionHandler für die Aktion mit der entsprechenden Konfiguration deklarieren.
Sie können beispielsweise E-Mails, in denen Nutzer etwas genehmigen, bestätigen oder zur Kenntnis nehmen müssen, eine Schaltfläche „Bestätigen“ hinzufügen. Wenn 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 Spesenbericht 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. In Gmail wird die Aktion nach der Reise nicht mehr angezeigt.
Ablaufzeiten können auch explizit zu Aktionen hinzugefügt werden. Beispielsweise kann eine Aktion zum Speichern eines Gutscheins oder eines Angebotscodes nur für einen begrenzten Zeitraum gültig sein. Wenn Sie den Zeitraum festlegen möchten, in dem eine Aktion angezeigt wird, legen Sie die Properties 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: