يمثّل الإجراء في schema.org فعلاً أو نشاطًا يمكن تنفيذه على جزء من البيانات المنظَّمة. تتوفّر أنواع متعدّدة من الإجراءات ويمكن تحديدها جميعًا باستخدام بيانات منظَّمة مماثلة.
إجراءات "الانتقال إلى"
إذا أضفت ترميزًا إلى المحتوى باستخدام عناصر 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>
البيانات الجزئية
<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 للإجراء باستخدام الإعدادات المناسبة.
على سبيل المثال، يمكنك إضافة زر تأكيد إلى الرسائل الإلكترونية التي تطلب من المستخدمين الموافقة على أمر ما وتأكيده والإقرار به. بعد أن ينقر المستخدم على الزر، سترسل 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>
البيانات الجزئية
<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>
محتوى إضافي للقراءة
لمزيد من التفاصيل حول الإجراءات، يُرجى الاطّلاع على ما يلي: