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ể thực hiện trên một phần dữ liệu có cấu trúc. Nhiều loại hành động được hỗ trợ và tất cả đều có thể được xác định bằng dữ liệu có cấu trúc tương tự nhau.

Chuyển đến hành động

Nếu thêm thẻ đá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 thao tác Chuyển đến cho các thực thể đó. Ví dụ: để tạo thực thể EmailMessage có đường liên kết Chuyển đến ViewAction, hãy điề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

Hành động 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 gốc dành cho thiết bị di động 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 lược đồ android-app://ios-app:// như sau:

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 không có ứng dụng của bạn, hành động này sẽ đưa người dùng đến URL 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ỗ, bên trong Gmail mà không cần đưa người dùng đến một trang web khác. Hành động trong ứng dụng được khai báo như Hành động chuyển đến nhưng chứa thông tin bổ sung giúp các tác nhân người dùng (chẳng hạn như Gmail) dễ dàng xử lý hành động nội tuyến.

Thay vì khai báo một thao tác bằng target, bạn cần khai báo HttpActionHandler cho thao tác có 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 nội dung nào đó. Khi người dùng nhấp vào nút, Google sẽ gửi một yêu cầu HTTP tới dịch vụ của bạn và ghi lại thông tin xác nhận đó. Chỉ có thể tương tác với ConfirmAction một lần.

Ví dụ sau đây thêm nút ConfirmAction vào một email liên quan đến 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 hành động chỉ có liên quan trong một khoảng thời gian giới hạn. Hành động liên quan đến các thực thể có ngày đã biết (chẳng hạn như thông tin đặt chỗ du lịch) sẽ tự động hết hạn. Gmail không hiển thị thao tác sau khi chuyến đi kết thúc.

Bạn cũng có thể thêm rõ ràng thời gian hết hạn vào các hành động. 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 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>

Đọc thêm

Để biết thêm thông tin chi tiết về Hành động, hãy xem: