การดำเนินการใน schema.org แสดงถึงคำกริยาหรือกิจกรรมที่ทำกับข้อมูลที่มีโครงสร้างชิ้นหนึ่งๆ ได้ ระบบรองรับการดำเนินการหลายประเภท และสามารถกำหนดได้ด้วยข้อมูลที่มีโครงสร้างที่คล้ายกัน
การดำเนินการที่ต้องการ
หากคุณเพิ่มมาร์กอัปลงในเนื้อหาด้วยเอนทิตี schema.org คุณจะเพิ่มการดำเนินการ Go-To ของเอนทิตีดังกล่าวได้ เช่น หากต้องการทำให้เอนทิตี EmailMessage
มีลิงก์ไปที่ ViewAction
ให้ใส่พร็อพเพอร์ตี้ potentialAction
ของอีเมล ดังตัวอย่างต่อไปนี้
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>
โปรดทราบว่าโปรแกรมรับส่งอีเมลอื่นที่ไม่รองรับสคีมาในอีเมลจะละเว้นมาร์กอัปข้างต้นโดยอัตโนมัติ
การทำ Deep Link สำหรับอุปกรณ์เคลื่อนที่
การดำเนินการ "ไปยัง" ยังลิงก์ไปยังเนื้อหาโดยตรงในแอปที่มากับอุปกรณ์เคลื่อนที่
Android และ
iOS วิธีทำ Deep Link ไปยัง
ของแอป ให้ใส่ URL ของ target
เพิ่มเติมที่เข้ารหัสด้วยรูปแบบ android-app://
และ ios-app://
ดังที่แสดงด้านล่าง
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>"/>
การขยายตัวอย่าง 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>
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>
หากผู้ใช้ไม่มีแอปของคุณ การดำเนินการนี้จะนำผู้ใช้ไปยัง URL ของเว็บที่คุณระบุ
การกระทำในแอป
การดำเนินการในแอปจะได้รับการจัดการภายใน Gmail โดยไม่ส่งผู้ใช้ไปยังเว็บไซต์อื่น การดำเนินการในแอปมีการประกาศไว้ เช่น Go-To Actions แต่มีข้อมูลเพิ่มเติมที่ทำให้ User Agent (เช่น Gmail) จัดการการดำเนินการในหน้าได้อย่างง่ายดาย
คุณต้องประกาศ HttpActionHandler
สำหรับการดำเนินการที่มีการกำหนดค่าที่เหมาะสมแทนการประกาศการดำเนินการด้วย target
ตัวอย่างเช่น คุณสามารถเพิ่มปุ่มยืนยันในอีเมลที่กำหนดให้ผู้ใช้ต้องอนุมัติ ยืนยัน และรับทราบข้อมูลบางอย่าง เมื่อผู้ใช้คลิกปุ่มดังกล่าว Google จะออกคำขอ HTTP ไปยังบริการของคุณ ซึ่งจะบันทึกการยืนยัน โต้ตอบกับ ConfirmAction
ได้เพียงครั้งเดียวเท่านั้น
ตัวอย่างต่อไปนี้เพิ่มปุ่ม 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>
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>
การดำเนินการที่ใกล้หมดอายุ
ในหลายกรณี การดำเนินการจะมีความเกี่ยวข้องในระยะเวลาที่จำกัดเท่านั้น การดำเนินการที่เชื่อมโยงกับเอนทิตีที่มีวันที่ที่ทราบ เช่น การจองการเดินทาง จะหมดอายุโดยอัตโนมัติ Gmail ไม่แสดงการดำเนินการหลังจากผ่านการเดินทางไปแล้ว
นอกจากนี้ คุณยังเพิ่มวันที่หมดอายุลงในการดำเนินการได้อย่างชัดเจน เช่น การดําเนินการตัดคูปองหรือบันทึกรหัสข้อเสนออาจใช้ได้ในระยะเวลาจํากัดเท่านั้น หากต้องการกำหนดกรอบเวลาที่จะแสดงการดำเนินการ ให้ตั้งค่าพร็อพเพอร์ตี้ startTime
และ endTime
ของการดำเนินการ ดังนี้
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>
อ่านเพิ่มเติม
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการดำเนินการได้ที่
- การจัดการคำขอให้ดำเนินการ
- การรักษาความปลอดภัยสำหรับการดำเนินการ
- การทำ Deep Link สำหรับ Android
- การทำ Deep Link สำหรับ iOS