작업 선언

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>

이메일의 스키마를 지원하지 않는 다른 이메일 클라이언트에서는 위의 마크업이 자동으로 무시됩니다.

모바일 딥 링크

이동 작업은 AndroidiOS의 네이티브 모바일 앱 콘텐츠에 직접 연결할 수도 있습니다. 앱에 딥 링크를 적용하려면 아래와 같이 android-app://ios-app:// 스키마로 인코딩된 추가 target URL을 포함하세요.

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에서 작업을 표시하지 않습니다.

만료는 작업에 명시적으로 추가할 수도 있습니다. 예를 들어 쿠폰을 자르거나 쿠폰 코드를 저장하는 작업은 제한된 시간 동안만 유효할 수 있습니다. 작업이 표시되는 기간을 설정하려면 작업의 startTimeendTime 속성을 설정합니다.

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>

추가 자료

작업에 관한 자세한 내용은 다음을 참고하세요.