Zadeklaruj działania

Element Action w schema.org reprezentuje czasownik lub działanie, które można wykonać na elemencie uporządkowanych danych. Obsługiwane są różne typy działań, które można definiować za pomocą podobnych uporządkowanych danych.

Najczęściej wykonywane działania

Jeśli dodasz do swoich treści znaczniki z entytami schema.org, możesz dodać dla nich działania „Idź 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 przejścia mogą też prowadzić bezpośrednio do treści w natywnych aplikacjach 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>"/>

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 przekierowuje go do podanego przez Ciebie adresu URL witryny.

Działania w aplikacji

Działania w aplikacji są obsługiwane w Gmailu, bez wysył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ć element HttpActionHandler dla działania z odpowiednią 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, aby potwierdzić. Z elementem ConfirmAction można wchodzić w interakcję tylko raz.

W tym przykładzie dodajemy 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 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ż dodać 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>

Więcej informacji

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