Zadeklaruj działania

Akcja w schema.org reprezentuje czasownik lub działanie, które można wykonać na ustrukturyzowanych danych. Obsługiwanych jest wiele rodzajów działań. Wszystkie można zdefiniować, korzystając z podobnych uporządkowanych danych.

Najważniejsze działania

Jeśli dodasz znaczniki do swoich treści za pomocą elementów schema.org, możesz dodać dla nich działania docelowe. Aby na przykład element EmailMessage miał link do strony ViewAction, wypełnij właściwość potentialAction e-maila w sposób podany 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>

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ądzeniach mobilnych

Działania te mogą też prowadzić bezpośrednio do treści w natywnych aplikacjach mobilnych na Android oraz iOS: Aby użyć precyzyjnego linku do: aplikacji, uwzględnij dodatkowe adresy URL target zakodowane przy użyciu 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>"/>

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, działanie przeniesie go na podany przez Ciebie adres URL.

Działania w aplikacji

Działania w aplikacji są obsługiwane w miejscu, w którym użytkownik jest w Gmailu, bez odsyłania użytkownika do innej witryny. Działania w aplikacji są deklarowane jak działania gotowe, ale zawierają dodatkowe informacje, które ułatwiają klientom użytkownika (np. Gmaila) wykonanie tych czynności bezpośrednio.

Zamiast deklarować działanie za pomocą elementu target, musisz zadeklarować HttpActionHandler dla działania z poprawną konfiguracją.

Możesz na przykład dodać przycisk potwierdzenia do e-maili, które wymagają od użytkowników zatwierdzenia, potwierdzenia i potwierdzenia czegoś. Gdy użytkownik kliknie przycisk, Google wyśle do Twojej usługi żądanie HTTP z potwierdzeniem. Z urządzeniem ConfirmAction można wejść tylko raz.

Poniższy przykład dodaje przycisk ConfirmAction do e-maila dotyczącego raportu 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>

Wygasające działania

W wielu przypadkach działania są ważne tylko przez ograniczony czas. Działania powiązane z elementami o znanych datach, takie jak rezerwacje podróży, wygasną automatycznie. Gmail nie wyświetla działania po upływie podróży.

Czas wygaśnięcia można też dodawać bezpośrednio do działań. Na przykład działanie polegające na obcięciu kuponu lub zapisaniu kodu oferty może być ważne tylko przez ograniczony czas. Aby ustawić przedział czasu, po 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: