ใน schema.org การดำเนินการจะแสดงถึงกิจกรรมที่สามารถทำได้กับข้อมูลที่มีโครงสร้าง Gmail รองรับการดำเนินการหลายประเภท และคุณสามารถกำหนดแต่ละประเภทด้วยข้อมูลที่มีโครงสร้างที่คล้ายกัน
การดำเนินการ "ไปที่"
หากเพิ่มมาร์กอัปในเนื้อหาด้วยเอนทิตี schema.org คุณจะเพิ่มการดำเนินการ "ไปที่" สำหรับเอนทิตีเหล่านั้นได้ เช่น หากต้องการให้เอนทิตี 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-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
</div>
</div>
หากผู้ใช้ไม่มีแอป การดำเนินการจะนำผู้ใช้ไปยัง URL ของเว็บที่คุณระบุ
การกระทำในแอป
Gmail จะจัดการการกระทำในแอปในที่นั้นๆ โดยไม่ส่งผู้ใช้ไปยังเว็บไซต์อื่น คุณประกาศการกระทำในแอปเหมือนกับ การดำเนินการ "ไปที่" แต่ใส่ข้อมูลเพิ่มเติมที่จะช่วยให้โปรแกรมรับส่งอีเมล จัดการการกระทำแบบอินไลน์ได้
แทนที่จะประกาศการดำเนินการด้วย target ให้ประกาศ HttpActionHandler สำหรับการดำเนินการด้วยการกำหนดค่าที่เหมาะสม
เช่น คุณสามารถเพิ่มปุ่มยืนยันลงในอีเมลที่กำหนดให้ผู้ใช้ต้องอนุมัติ ยืนยัน หรือรับทราบบางสิ่ง เมื่อผู้ใช้คลิกปุ่ม 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>
อ่านเพิ่มเติม
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการดำเนินการได้ที่