Khai báo thao tác

Một Hành động trong schema.org đại diện cho một động từ hoặc hoạt động có thể được thực hiện trên một phần dữ liệu có cấu trúc. Chúng tôi hỗ trợ nhiều loại hành động và bạn có thể xác định tất cả các loại hành động này bằng dữ liệu có cấu trúc tương tự.

Hành động chuyển đến

Nếu thêm mã đánh dấu vào nội dung bằng các thực thể schema.org, bạn có thể thêm các hành động Chuyển đến cho các thực thể đó. Ví dụ: để thực thể EmailMessage có một đường liên kết ViewAction Go-To, hãy điền sẵn thuộc tính potentialAction của email, như trong ví dụ sau:

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>

Vi dữ liệu

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

Xin lưu ý rằng các ứng dụng email khác không hỗ trợ giản đồ trong email sẽ tự động bỏ qua mã đánh dấu ở trên.

Liên kết sâu trên thiết bị di động

Thao tác Chuyển đến cũng có thể liên kết trực tiếp đến nội dung trong các ứng dụng di động gốc trên AndroidiOS. Để liên kết sâu đến một ứng dụng, hãy thêm các URL target bổ sung được mã hoá bằng các lược đồ android-app://ios-app:// như minh hoạ bên dưới:

JSON-LD

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

Vi dữ liệu

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

Mở rộng ví dụ EmailMessage trước đó:

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>

Vi dữ liệu

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

Nếu người dùng chưa cài đặt ứng dụng của bạn, thì hành động này sẽ đưa người dùng đến URL trên web mà bạn cung cấp.

Hành động trong ứng dụng

Các Hành động trong ứng dụng được xử lý tại chỗ, ngay trong Gmail, mà không cần chuyển người dùng đến một trang web khác. Các thao tác trong ứng dụng được khai báo như Thao tác chuyển đến, nhưng chứa thêm thông tin giúp các tác nhân người dùng (chẳng hạn như Gmail) dễ dàng xử lý thao tác nội tuyến.

Thay vì khai báo một thao tác bằng target, bạn cần khai báo một HttpActionHandler cho thao tác đó bằng cấu hình phù hợp.

Ví dụ: Bạn có thể thêm nút xác nhận vào những email yêu cầu người dùng phê duyệt, xác nhận và xác nhận đã nhận được thông tin. Sau khi người dùng nhấp vào nút này, một yêu cầu HTTP sẽ được Google gửi đến dịch vụ của bạn để ghi lại thông tin xác nhận. Bạn chỉ có thể tương tác với ConfirmAction một lần.

Ví dụ sau đây thêm một nút ConfirmAction vào email về báo cáo chi phí:

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>

Vi dữ liệu

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

Hành động sắp hết hạn

Trong nhiều trường hợp, các thao tác chỉ phù hợp trong một khoảng thời gian có hạn. Những hành động liên quan đến các thực thể có ngày tháng đã biết, chẳng hạn như thông tin đặt chỗ du lịch, sẽ tự động hết hạn. Gmail sẽ không hiển thị thao tác này sau khi chuyến đi kết thúc.

Bạn cũng có thể thêm thời gian hết hạn một cách rõ ràng vào các thao tác. Ví dụ: hành động cắt phiếu giảm giá hoặc lưu mã ưu đãi có thể chỉ có hiệu lực trong một khoảng thời gian giới hạn. Để đặt khoảng thời gian hiển thị một thao tác, hãy đặt các thuộc tính startTimeendTime của thao tác đó:

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>

Vi dữ liệu

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

Tài liệu đọc thêm

Để biết thêm thông tin chi tiết về Thao tác, hãy xem: