Działanie w schema.org to czasownik lub czynność, którą można wykonać na uporządkowanych danych. Obsługiwanych jest kilka typów działań, które można zdefiniować za pomocą podobnych uporządkowanych danych.
Działania „Przejdź do”
Jeśli dodasz do treści znaczniki z encjami schema.org, możesz dodać do nich działania „Przejdź do”. Aby na przykład encja EmailMessage miała link „Przejdź do” ViewAction, wypełnij właściwość potentialAction e-maila, jak w tym przykładzie:
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>
Mikrodane
<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>
Pamiętaj, że powyższy kod jest automatycznie ignorowany przez inne klienty poczty e-mail, które nie obsługują schematów w e-mailach.
Precyzyjne linki mobilne
Działania „Przejdź do” mogą też prowadzić bezpośrednio do treści w natywnych aplikacjach mobilnych na
Android i
iOS. Aby utworzyć precyzyjny link do aplikacji, dodaj dodatkowe adresy URL target zakodowane za pomocą schematów android-app:// i ios-app://, jak pokazano poniżej:
JSON-LD
"target": [
“<web url>”,
“android-app://<android package name>/<scheme>/<host>/<path+query>”,
“ios-app://<App store ID>/<scheme>/<host><path+query>"
]
Mikrodane
<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>"/>
Rozszerzenie poprzedniego przykładu 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>
Mikrodane
<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>
Jeśli użytkownik nie ma Twojej aplikacji, działanie przekieruje go do podanego przez Ciebie adresu URL.
Działania w aplikacji
Działania w aplikacji są obsługiwane w Gmailu, bez przekierowywania użytkownika do innej witryny. Działania w aplikacji są deklarowane tak samo jak działania „Przejdź do”, ale zawierają dodatkowe informacje, które ułatwiają agentom użytkownika (np. Gmailowi) obsługę działania w tekście.
Zamiast deklarować działanie za pomocą target, musisz zadeklarować HttpActionHandler dla działania z odpowiednią konfiguracją.
Możesz na przykład dodać do e-maili przycisk potwierdzenia, który wymaga od użytkowników zatwierdzenia, potwierdzenia i zaakceptowania czegoś. Gdy użytkownik kliknie przycisk, Google wyśle do Twojej usługi żądanie HTTP, które zarejestruje potwierdzenie. Działanie ConfirmAction można wykonać tylko raz.
Ten przykład dodaje do e-maila dotyczącego raportu wydatków przycisk ConfirmAction:
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>
Mikrodane
<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>
Działania wygasające
W wielu przypadkach działania są istotne tylko przez ograniczony czas. Działania powiązane z encjami o znanych datach, takimi jak rezerwacje podróży, automatycznie wygasają. Gmail nie wyświetla działania po zakończeniu podróży.
Czas wygaśnięcia można też jawnie dodać do działań. Na przykład działanie polegające na zapisaniu kuponu lub kodu oferty może być ważne tylko przez ograniczony czas. Aby ustawić przedział czasu, w którym ma się wyświetlać działanie, ustaw właściwości startTime i endTime działania:
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>
Mikrodane
<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>
Więcej informacji
Więcej informacji o działaniach znajdziesz w tych artykułach: