Mendeklarasikan Tindakan

Tindakan di schema.org merepresentasikan kata kerja atau aktivitas yang dapat dilakukan pada sepotong data terstruktur. Beberapa jenis tindakan didukung dan semuanya dapat ditentukan dengan data terstruktur yang serupa.

Tindakan Utama

Jika menambahkan markup ke konten dengan entitas schema.org, Anda dapat menambahkan tindakan Buka untuk entitas tersebut. Misalnya, agar entity EmailMessage memiliki link Buka ViewAction, isi properti potentialAction email, seperti dalam contoh berikut:

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>

Microdata

<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>

Perhatikan bahwa markup di atas otomatis diabaikan oleh program email lain yang tidak mendukung skema dalam email.

Deep Linking Seluler

Tindakan Go-To juga dapat ditautkan langsung ke konten di aplikasi seluler native di Android dan iOS. Untuk melakukan deep link ke aplikasi, sertakan URL target tambahan yang dienkode dengan skema android-app:// dan ios-app:// seperti yang ditunjukkan di bawah:

JSON-LD

"target": [
  “<web url>”,
  “android-app://<android package name>/<scheme>/<host>/<path+query>”,
  “ios-app://<App store ID>/<scheme>/<host><path+query>"
]

Microdata

<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>"/>

Memperluas contoh EmailMessage sebelumnya:

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>

Microdata

<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>

Jika pengguna tidak memiliki aplikasi Anda, tindakan ini akan mengarahkan pengguna ke URL web yang Anda berikan.

Tindakan dalam Aplikasi

Tindakan Dalam Aplikasi ditangani di tempat, di dalam Gmail, tanpa mengarahkan pengguna ke situs lain. Tindakan Dalam Aplikasi dideklarasikan seperti Tindakan Buka, tetapi berisi informasi tambahan yang memudahkan agen pengguna (seperti Gmail) menangani tindakan secara inline.

Daripada mendeklarasikan tindakan dengan target, Anda perlu mendeklarasikan HttpActionHandler untuk tindakan dengan konfigurasi yang tepat.

Misalnya, Anda dapat menambahkan tombol konfirmasi ke email yang mengharuskan pengguna menyetujui, mengonfirmasi, dan menyetujui sesuatu. Setelah pengguna mengklik tombol, permintaan HTTP akan dikirim dari Google ke layanan Anda, yang mencatat konfirmasi. ConfirmAction hanya dapat berinteraksi satu kali.

Contoh berikut menambahkan tombol ConfirmAction ke email tentang laporan pengeluaran:

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>

Microdata

<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>

Tindakan yang Akan Berakhir

Dalam banyak kasus, tindakan hanya relevan untuk jangka waktu terbatas. Tindakan yang terkait dengan entitas dengan tanggal yang diketahui, seperti reservasi perjalanan, akan otomatis berakhir. Gmail tidak menampilkan tindakan setelah perjalanan selesai.

Masa berlaku juga dapat ditambahkan secara eksplisit ke tindakan. Misalnya, tindakan untuk menggunting kupon atau menyimpan kode penawaran mungkin hanya berlaku untuk waktu terbatas. Untuk menetapkan jangka waktu saat tindakan ditampilkan, tetapkan properti startTime dan endTime tindakan:

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>

Microdata

<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>

Bacaan Lebih Lanjut

Untuk mengetahui detail selengkapnya tentang Tindakan, lihat: