اقدامات را اعلام کنید

یک Action در schema.org نشان دهنده یک فعل یا فعالیت است که می تواند بر روی یک قطعه از داده های ساخت یافته انجام شود. انواع مختلفی از اقدامات پشتیبانی می شوند و همه آنها را می توان با داده های ساختاری مشابه تعریف کرد.

برو به اقدامات

اگر با موجودیت‌های schema.org نشانه‌گذاری را به محتوای خود اضافه کنید، می‌توانید اقدامات Go-To را برای آنها اضافه کنید. به عنوان مثال، برای اینکه یک موجودیت EmailMessage یک پیوند ViewAction Go-To داشته باشد، ویژگی 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>

توجه داشته باشید که نشانه گذاری بالا به طور خودکار توسط سایر سرویس گیرندگان ایمیل که از طرحواره ها در ایمیل ها پشتیبانی نمی کنند نادیده گرفته می شود.

پیوند عمیق موبایل

کنش‌های Go-To همچنین می‌توانند مستقیماً به محتوای برنامه‌های تلفن همراه بومی در Android و iOS پیوند داده شوند. برای پیوند عمیق به یک برنامه، نشانی‌های اینترنتی 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>

اگر کاربر برنامه شما را نداشته باشد، این اقدام کاربر را به نشانی اینترنتی وب که ارائه کرده‌اید می‌برد.

اقدامات درون برنامه

کنش‌های درون‌برنامه در محل، در داخل 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>

Actions در حال انقضا

در بسیاری از موارد، اقدامات فقط برای مدت زمان محدودی مرتبط هستند. اقدامات مرتبط با نهادهای دارای تاریخ مشخص، مانند رزرو سفر، به‌طور خودکار منقضی می‌شوند. 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، نگاه کنید به: