Zadeklaruj działania

Akcja w schema.org reprezentuje czasownik lub działanie, które można wykonać na fragmencie uporządkowanych danych. Obsługiwanych jest wiele typów działań, które można zdefiniować za pomocą podobnych uporządkowanych danych.

Działania docelowe

Jeśli dodasz znaczniki do treści za pomocą elementów schema.org, możesz dodać działania docelowe. Aby np. element EmailMessage miał link Go-To 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ższe znaczniki są automatycznie ignorowane przez inne klienty poczty e-mail, które nie obsługują schematów w e-mailach.

Precyzyjne linki na urządzenia mobilne

Działania docelowe mogą też prowadzić bezpośrednio do treści w natywnych aplikacjach mobilnych na Androida i iOS. Aby utworzyć precyzyjny link do aplikacji, uwzględnij dodatkowe adresy URL target zakodowane w schematach 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>"/>

Rozszerzam 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, zostanie przekierowany pod podany przez Ciebie adres URL.

Działania w aplikacji

Działania w aplikacji są obsługiwane na miejscu, w Gmailu, bez odsyłania użytkownika do innej strony. Działania w aplikacji są deklarowane jak akcje docelowe, ale zawierają dodatkowe informacje, które ułatwiają klientom użytkownika (takim jak Gmail) wykonanie ich w tekście.

Zamiast deklarować działanie za pomocą target, musisz zadeklarować dla niego działanie HttpActionHandler z prawidłową konfiguracją.

Możesz na przykład dodać przycisk potwierdzenia do e-maili, w których użytkownicy muszą zatwierdzić, potwierdzić i potwierdzić jakieś dane. Gdy użytkownik kliknie ten przycisk, Google wyśle do Twojej usługi żądanie HTTP z potwierdzeniem. Z użytkownikiem ConfirmAction można wejść tylko raz.

Poniższy przykład dodaje przycisk ConfirmAction do e-maila z raportem wydatków:

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 obiektami o znanej dacie, np. rezerwacje podróży, automatycznie wygasną. Gmail nie wyświetla działania po upływie podróży.

Datę ważności można także dodawać do działań. Na przykład działanie polegające na skróceniu kuponu lub zapisaniu kodu oferty może być ważne tylko przez ograniczony czas. Aby ustawić przedział czasu, w którym wyświetla się działanie, ustaw jego właściwości startTime i endTime:

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>

Dalsza lektura

Więcej informacji o akcjach znajdziesz w tych artykułach: