פעולה ב-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>
מיקרו נתונים
<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>
חשוב לזכור שתוכנות אימייל אחרות שלא תומכות בסכימות באימיילים מתעלמות באופן אוטומטי מהתווית שלמעלה.
קישורי עומק בנייד
פעולות מסוג 'מעבר אל' יכולות גם לקשר ישירות לתוכן באפליקציות נייטיב ב-Android וב-iOS. כדי ליצור קישור עומק לאפליקציה, צריך לכלול כתובות 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>"
]
מיקרו נתונים
<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>
מיקרו נתונים
<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, בלי לשלוח את המשתמש לאתר אחר. הפעולות בתוך האפליקציה מוצהרות כמו פעולות בתוך האפליקציה, אבל מכילות מידע נוסף שמאפשר לסוכני משתמש (כמו Gmail) לטפל בפעולה בתוך השורה.
במקום להצהיר על פעולה באמצעות target
, צריך להצהיר על HttpActionHandler
לפעולה עם ההגדרה המתאימה.
לדוגמה: אפשר להוסיף לחצן אישור להודעות אימייל שדורשות מהמשתמשים לאשר, לאשר ולאשר משהו. אחרי שהמשתמש ילחץ על הלחצן, תישלח בקשת 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>
מיקרו נתונים
<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>
מיקרו נתונים
<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>
מקורות מידע נוספים
פרטים נוספים על Actions זמינים במאמרים הבאים: