Zadeklaruj działania

Element Action w schema.org reprezentuje czasownik lub działanie, które można wykonać na elemencie uporządkowanych 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 do swoich treści znaczniki z użyciem elementów schema.org, możesz dodać dla nich działania „Przejdź do”. Aby na przykład dodać do elementu EmailMessage link 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 inne klienci poczty e-mail, którzy nie obsługują schematów w e-mailach, automatycznie ignorują powyższy znacznik.

Precyzyjne linki na urządzeniach mobilnych

Akcje „Przejdź do” mogą też prowadzić bezpośrednio do treści w natywności aplikacji mobilnych na AndroidiOS. Aby utworzyć precyzyjny link do aplikacji, dodaj dodatkowe adresy URL target zakodowane za pomocą schematów android-app://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 przekierowuje go do podanego przez Ciebie adresu URL witryny.

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 podobnie jak działania typu „Przejdź do”, ale zawierają dodatkowe informacje, które ułatwiają klientom użytkownika (np. Gmailowi) obsługę działania w ramach.

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 wymagających od użytkowników zatwierdzenia, potwierdzenia lub potwierdzenia czegoś. Gdy użytkownik kliknie przycisk, Google wyśle do Twojej usługi żądanie HTTP z potwierdzeniem. Z elementem ConfirmAction można wchodzić w interakcję tylko raz.

W tym przykładzie dodawany jest 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>

Działania dobiegające końca

W wielu przypadkach działania są istotne tylko przez ograniczony czas. Działania powiązane z elementami o znanych datach, np. rezerwacjami podróży, wygasną automatycznie. Gmail nie wyświetla działania po zakończeniu podróży.

Czas wygaśnięcia można też dodawać bezpośrednio do działań. Na przykład działanie polegające na wydrukowaniu kuponu lub zapisaniu kodu oferty może być ważne tylko przez ograniczony czas. Aby ustawić przedział czasu, w którym ma być wyświetlane działanie, użyj właściwości startTimeendTime 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>

Dalsza lektura

Więcej informacji o Actions on Google znajdziesz w artykułach: