การดำเนินการใน schema.org แสดงกริยาหรือกิจกรรมที่ดำเนินการกับ Structured Data ได้ ระบบรองรับการดําเนินการหลายประเภท และสามารถกําหนดทั้งหมดด้วย Structured Data ที่คล้ายกันได้
การดำเนินการที่แนะนำ
หากเพิ่มมาร์กอัปลงในเนื้อหาด้วยเอนทิตี schema.org คุณจะเพิ่มการดําเนินการไปยังส่วนต่างๆ ของเนื้อหาได้ เช่น หากต้องการให้เอนทิตี EmailMessage
มีลิงก์ Go-To 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 แต่มีข้อมูลเพิ่มเติมที่ช่วยให้ User Agent (เช่น Gmail) จัดการการดําเนินการในบรรทัดได้ง่าย
คุณต้องประกาศ HttpActionHandler
สําหรับการดําเนินการที่มีการกำหนดค่าที่เหมาะสมแทนการประกาศการดําเนินการด้วย target
เช่น คุณสามารถเพิ่มปุ่มยืนยันลงในอีเมลที่กําหนดให้ผู้ใช้ต้องอนุมัติ ยืนยัน และรับทราบบางอย่าง เมื่อผู้ใช้คลิกปุ่ม ระบบจะส่งคําขอ HTTP จาก Google ไปยังบริการของคุณเพื่อบันทึกการยืนยัน โต้ตอบกับ 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