Działanie w schema.org to czasownik lub czynność, którą można wykonać na elemencie uporządkowanych danych. Obsługiwanych jest wiele rodzajów działań, które można zdefiniować za pomocą podobnych danych strukturalnych.
Działania „Przejdź do”
Jeśli dodasz do treści znaczniki z użyciem encji schema.org, możesz dodać do nich działania „Przejdź do”. Aby na przykład element EmailMessage
miał link ViewAction
Go-To, 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 innych klientów poczty e-mail, którzy nie obsługują schematów w e-mailach.
Precyzyjne linki na urządzenia mobilne
Działania „Przejdź do” mogą też prowadzić bezpośrednio do treści w natywnych aplikacjach mobilnych na Android i iOS. Aby dodać precyzyjny link do aplikacji, uwzględnij 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>"/>
Rozszerzając poprzedni przykład 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 na podany przez Ciebie adres URL.
Działania w aplikacji
Działania w aplikacji są obsługiwane w Gmailu, bez przekierowywania użytkownika na inną stronę. Działania w aplikacji są deklarowane podobnie 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ć przycisk potwierdzenia do e-maili, które wymagają od użytkowników zatwierdzenia, potwierdzenia lub zaakceptowania czegoś. Gdy użytkownik kliknie przycisk, Google wyśle do Twojej usługi żądanie HTTP, aby zarejestrować potwierdzenie. ConfirmAction
można użyć tylko raz.
W tym przykładzie do e-maila z raportem o wydatkach dodawany jest 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, które wygasają
W wielu przypadkach działania są istotne tylko przez ograniczony czas. Działania powiązane z jednostkami o znanych datach, np. 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 wycięciu kuponu lub zapisaniu 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:
- Obsługa żądań działania
- Zabezpieczanie działań
- Precyzyjne linki na Androidzie
- Precyzyjne linki w iOS