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 hành động chuyển đến cho các thực thể đó. Ví dụ: để 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ợ lược đồ 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 di động gốc trên
Android và
iOS. Để 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:// và 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 không có ứng dụng của bạn, thì 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
Hành động trong ứng dụng được xử lý tại chỗ, bên trong Gmail mà không đưa người dùng đến một trang web khác. Hành động trong ứng dụng được khai báo giống như Hành động 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ý hành động này trong dòng.
Thay vì khai báo một hành động bằng target, bạn cần khai báo HttpActionHandler cho hành động đó bằng cấu hình thích hợp.
Ví dụ: bạn có thể thêm một nút xác nhận vào email yêu cầu người dùng phê duyệt, xác nhận và thừa nhận điều gì đó. Sau khi người dùng nhấp vào nút, một yêu cầu HTTP sẽ được gửi từ Google đế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 hết hạn
Trong nhiều trường hợp, hành động chỉ phù hợp trong một khoảng thời gian có hạn. Các hành động được liên kết với 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ị hành động 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 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 có hạn. Để đặt khoảng thời gian hiển thị hành động, hãy đặt thuộc tính startTime và endTime của hành động:
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ề Hành động, hãy xem: