액세스 요구사항

사용자는 다음과 같이 이미 액세스할 수 있는 콘텐츠를 보거나 듣는 것을 선호합니다. 기존 구독 콘텐츠 Google이 사용자가 사용할 수 있는 콘텐츠를 알고 있는 경우 Google에서 더 나은 검색결과를 구성할 수 있습니다 사용자를 해당 콘텐츠로 안내할 수 있습니다.

그림 1. 액세스 요구사항을 통해 구독자는 한 단계 더 나아갔습니다.

콘텐츠 액세스 요구사항 확인

애플리케이션의 각 콘텐츠 패키지에 대한 액세스 요구사항을 확인할 수 있습니다 이 작업을 수행할 때는 다음 질문을 고려하세요.

  • 사용자가 콘텐츠에 액세스하려면 앱이나 플랫폼에 로그인해야 하나요?
  • 사용자에게 정기 결제가 필요한가요?

    시청 작업만 해당:

    • 사용자가 외부 서비스 제공업체의 구독이 필요한가요?
    • 등급별, 멀티 패키지 또는 부가기능 구독을 제공하나요?
  • 시청 작업만 해당: 사용자가 콘텐츠를 대여하거나 구매해야 하나요?

  • 액세스 요구사항이 시간이 지남에 따라 변경되나요?

  • 액세스 요구사항은 기기 위치에 따라 달라지나요?

액세스 제한 유형

액세스 제한에는 두 가지 유형이 있습니다.

페이월 유형

페이월 유형별로 콘텐츠 액세스를 제한할 수 있습니다. 다음 표 다양한 페이월 유형을 자세히 살펴보겠습니다

페이월 유형 카테고리
구매하거나 로그인할 필요가 없습니다. Crackle nologinrequired
사용자는 로그인해야 하지만 유료 구독이 필요하지 않습니다. Vudu (AVOD) free
사용자에게 활성 상태인 구독이 있어야 합니다. 액세스 권한은 구독 등급에 적용됩니다 Netflix

subscription

사용자에게 활성 상태인 구독이 있어야 합니다. 액세스 가능 여부는 구독 등급을 이용할 수 있습니다 Hulu (부가기능)

subscription

<ph type="x-smartling-placeholder">
콘텐츠는 있습니다. Vudu rental
콘텐츠는 있습니다. Vudu purchase
케이블 TV 가입으로 콘텐츠를 이용할 수 있습니다. HBO Go externalSubscription

시계 작업의 페이월 유형

시청 작업에 대한 콘텐츠 페이월 유형을 지정하려면 category 속성을 작업 액세스 사양:

"potentialAction": {
  "@type":"WatchAction",
  "target": { … },
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  },
  ...
}

듣기 작업의 페이월 유형

듣기 작업의 콘텐츠 페이월 유형을 지정하려면 category 속성을 혜택 객체:

"potentialAction": {
  "@type":"ListenAction",
  "target": { … },
  "expectsAcceptanceOf":{
    "@type":"Offer",
    "category":"subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "eligibleRegion": {
      "@type":"Country",
      "name":"US"
    }
  },
  ...
}

지역

콘텐츠를 사용할 수 있는 지역을 지정해야 합니다. 다음 중 하나를 사용하거나 다음 두 속성을 모두 사용할 수 있습니다.

기기 위치가 다음 지역 내에 있는 경우 사용자는 콘텐츠에 액세스할 수 있습니다. eligibleRegion에 지정되고 다음 위치에 지정된 리전 내에 없음 ineligibleRegion입니다.

eligibleRegionineligibleRegion 속성은 다음을 허용합니다. 값:

콘텐츠를 전 세계에서 사용할 수 있는 경우 eligibleRegion:

"eligibleRegion": "EARTH",

eligibleRegion 사용 사례

다음은 eligibleRegion 속성의 사용 사례 예입니다.

  • 예 1: 국가 목록이 있는 eligibleRegion.
  • 예 2: eligibleRegion을 다음과 같은 GeoShape 객체로 바꿉니다. 에는 우편번호 목록이 포함됩니다.
  • 예 3: eligibleRegion을 다음과 같은 GeoShape 객체로 바꿉니다. FSA 코드 목록이 포함됩니다.
  • 예 4: eligibleRegion를 다음과 같은 GeoShape 객체로 바꿉니다. DMA ID를 포함합니다.
  • 예 5: GeoShape 객체 목록이 있는 eligibleRegion. 각 DAG에는 DMA ID가 포함됩니다.
  • 예 6: 우편번호가 차단된 ineligibleRegion

예시 1

eligibleRegion(국가 목록 포함):


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/north_america_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion": [
    {
      "@type": "Country",
      "name": "US"
    },
    {
      "@type": "Country",
      "name": "CA"
    }
  ]
}

예 2

eligibleRegion를 다음과 같이 GeoShape 객체로 바꿉니다. 에는 우편번호 목록이 포함됩니다.


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion": {
    "@type": "GeoShape",
    "@id": "http://example.com/area1",
    "addressCountry": "US",
    "postalCode": [
      "94118",
      "94119"
    ]
  }
}

예시 3

eligibleRegion를 다음과 같이 GeoShape 객체로 바꿉니다. 에는 다음과 같이 정방향 정렬 지역 (FSA) 코드 목록이 포함됩니다.


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion":{
    "@type": "GeoShape",
    "@id": "http://example.com/area2",
    "addressCountry": "CA",
    "postalCode": [
      "1A1",
      "K1A"
    ]
  }
}

예 4

eligibleRegion를 다음과 같이 GeoShape 객체로 바꿉니다. 에는 DMA ID가 포함됩니다.


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/abcd/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion":{
    "@type": "GeoShape",
    "@id": "http://example.com/area3",
    "addressCountry": "US",
    "identifier": [
      {
        "@type": "PropertyValue",
        "propertyID": "DMA_ID",
        "value": "501"
      }
    ]
  }
}

예시 5

eligibleRegionGeoShape 객체 목록으로 바꿉니다. 각 에는 DMA ID가 포함됩니다.


"actionAccessibilityRequirement" : {
   "@type" : "ActionAccessSpecification",
   "eligibleRegion" : [
      {
         "@id" : "http://example.com/dma/601",
         "@type" : "GeoShape",
         "addressCountry" : "US",
         "identifier" : {
            "@type" : "PropertyValue",
            "propertyID" : "DMA_ID",
            "value" : "601"
         }
      },
      {
         "@id" : "http://example.com/dma/602",
         "@type" : "GeoShape",
         "addressCountry" : "US",
         "identifier" : {
            "@type" : "PropertyValue",
            "propertyID" : "DMA_ID",
            "value" : "602"
         }
      }
   ]
}

예시 6

우편번호가 차단된 ineligibleRegion:


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
 "eligibleRegion":   {
      "@type": "Country",
      "name": "US"
    },
  "ineligibleRegion": {
    "@type": "GeoShape",
    "@id": "http://example.com/area1",
    "addressCountry": "US",
    "postalCode": [
      "94118",
      "94119"
    ]
  }
}

사용 권한 식별자

사용 권한 식별자 entitlementId는 미디어 카탈로그의 콘텐츠 그룹에 액세스할 수 있습니다. 사용자가 콘텐츠에 액세스할 수 있는 경우 Google에서 다음 단계를 따릅니다.

  1. Google은 사용 권한 엔드포인트에서 사용 권한 식별자
  2. YouTube는 미디어에서 콘텐츠의 필수 자격 식별자를 찾습니다. 작업 피드
  3. 사용자의 entitlementIdidentifier 속성 미디어 구독 객체에 추가합니다. 최소 entitlementId가 일치하는 경우 사용자가 있습니다.
<ph type="x-smartling-placeholder">
</ph>
그림 2. 사용자의 사용 권한 식별자 중 하나가 다음과 일치합니다. 콘텐츠의 필수 사용 권한 식별자입니다.

entitlementId에 다음 구문을 사용하는 것이 좋습니다.

<domain name> + colon (:) + <access level to content>

구문 예:

  • example.com:basic
  • example.com:premium
  • example.com:sports

사용 권한 식별자 예

MediaExampleCompany의 피드는 Movie XYZexample.com:basic entitlementId

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "Movie",
  "@id": "www.example.com/movie_xyz",
  "url": "www.example.com/movie_xyz",
  "name": "Movie XYZ",
  "potentialAction": {
    "@type": "WatchAction",
    "target": [ … ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/basic_subscription",
        "name": "Basic subscription",
        "commonTier": true
        ...
      },
      ...
    }
  },
  ...
}

일반적인 액세스 사용 사례

다음은 일반적인 액세스 사용 사례입니다.

  • 무료 (로그인 필요 없음): 로그인, 구독 또는 구매 없이도 콘텐츠를 사용할 수 있습니다.
  • 무료 (로그인 필요): 콘텐츠는 사용자가 로그인해야 하지만 구독이 필요하지는 않습니다.
  • 단일 등급 구독: 콘텐츠를 이용하려면 구독이 필요합니다. 모든 구독자가 동일한 모든 콘텐츠(영화, 에피소드 등)는 정기 결제 여부와 무관합니다. 패키지에서 찾을 수 있습니다.
  • 다중 계층 구독: 콘텐츠를 시청하려면 구독이 필요합니다. 구독자는 다양한 콘텐츠에 액세스할 수 있고 영화인지 에피소드인지에 따라 다릅니다. 예를 들어 실버골드 비교:
  • 부가기능 구독: 콘텐츠 구독이 필요합니다 구독자는 정기 결제와 관련이 있습니다.
  • 일회성 구매: 이후에 사용자는 무기한으로 액세스할 수 있습니다.
  • 실시간 TV: 정기 결제에는 지역, 전국, 프리미엄 채널을 모두 활용할 수 있습니다
  • 서드 파티 구독: 콘텐츠에서 사용자는 케이블 제공업체로 로그인해야 합니다.

무료 (로그인 필요 없음)

로그인이 필요하지 않음

로그인 또는 구독 없이 콘텐츠를 사용할 수 있습니다.


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "nologinrequired",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • categorynologinrequired로 설정합니다.
  • expectAcceptanceOf는 포함하지 마세요.

무료 (로그인 필요)

로그인 필요

콘텐츠에서 사용자 로그인이 필요하지만 정기 결제를 신청해 보세요.


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "free",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • categoryfree로 설정합니다.
  • expectAcceptanceOf는 포함하지 마세요.

단일 계층 구독

단일 계층 구독 모델에서 서비스 제공업체는 구독 등급을 이용할 수 있습니다 모든 구독자는 동일한 콘텐츠에 액세스할 수 영화 또는 에피소드와 관련이 있습니다.


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

다중 계층 구독

단계식 구독 모델에서 서비스 제공업체는 구독 등급(예: 골드, 실버, 브론즈. 상위 등급 정기 결제를 이용하는 사용자는 모든 등급에 액세스할 수 있습니다. 하위 계층의 콘텐츠를 말합니다 그러나 상위 등급 콘텐츠에 액세스할 수 없습니다.

그림 3. 등급별 정기 결제 모델 및 나타냅니다.

다음 상황을 살펴보세요.

  • Jane은 골드 등급을 구독합니다. 내 사용 권한 엔드포인트는 다음 entitlementId 식별자를 반환합니다.
    • example.com:bronze
    • example.com:silver
    • example.com:gold
  • 존은 브론즈 등급을 구독합니다. 내 사용 권한 엔드포인트가 다음 entitlementId를 반환합니다.
    • example.com:bronze
  • 미디어 작업 피드에는 다음 요구사항이 설명되어 있습니다. <ph type="x-smartling-placeholder">
      </ph>
    • 영화 A에는 example.com:bronze이(가) 필요합니다.
    • 영화 B에는 example.com:silver이(가) 필요합니다.

이 시나리오에서 Google은 Jane의 액세스 수준을 다음과 같이 결정합니다. 존과 존:

  • Jane과 John 모두 영화 A에 액세스할 수 있습니다.
  • Jane은 영화 B에 액세스할 수 있지만 John은 액세스할 수 없습니다.
{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "requiresSubscription": {
      "@type": "MediaSubscription",
      "@id": "http://www.example.com/basic_subscription",
      "name": "Bronze",
      "commonTier": true
      ...
    },
    ...
  }
}

부가기능 구독

부가기능 구독 모델에서 서비스 제공업체는 사용자가 다음을 할 수 있도록 허용합니다. 사용 권한을 확장하고 기본 구독에 채널 추가 사용자 수 원하는 만큼 채널을 추가할 수 있습니다.

그림 4. 부가기능 구독 모델 및 나타냅니다.

다음 상황을 살펴보세요.

  • Jane은 PROSportz를 가지고 있으며 기본 구독 사용 권한 엔드포인트에서 다음 entitlementId 식별자:
    • example.com:basic
    • example.com:pro
    • example.com:sportz
  • 존은 Basic 구독만 있습니다. 내 사용 권한 엔드포인트가 다음 entitlementId를 반환합니다.
    • example.com:basic
  • 미디어 작업 피드에는 다음 요구사항이 설명되어 있습니다. <ph type="x-smartling-placeholder">
      </ph>
    • 영화 A에는 example.com:basic이(가) 필요합니다.
    • 영화 B에는 example.com:pro이(가) 필요합니다.

이 시나리오에서 Google은 Jane의 액세스 수준을 다음과 같이 결정합니다. 존과 존:

  • Jane과 John 모두 영화 A에 액세스할 수 있습니다.
  • Jane은 영화 B에 액세스할 수 있지만 John은 액세스할 수 없습니다.
{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    "requiresSubscription": [
      {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/package/basic",
          "name": "Basic",
          "sameAs": "https://www.example.com/package/basic",
          "commonTier": true
        },
        {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/packages/basic/pro",
          "name": "PRO",
          "sameAs": "https://www.example.com/package/pro",
          "identifier": "example.com:pro",
          "commonTier": false
        },
        {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/package/sportz",
          "name": "Sportz",
          "sameAs": "https://www.example.com/package/sports",
          "identifier": "example.com:sportz",
          "commonTier": false
        }
    }
  }
}

일회성 구매

구매

콘텐츠는 있습니다.


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "purchase",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "price": 7.99,
      "priceCurrency": "USD",
      "seller": {
        "@type": "Organization",
        "name": "Example",
        "sameAs": "http://www.example.com/"
      }
    }
  }
}
  • categorypurchase로 설정합니다.
  • expectAcceptanceOf 포함 actionAccessibilityRequirement: 있습니다.

대여

콘텐츠는 있습니다.


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "rental",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "price": 7.99,
      "priceCurrency": "USD",
      "seller": {
        "@type": "Organization",
        "name": "Example",
        "sameAs": "http://www.example.com/"
      }
    }
  }
}
  • categoryrental로 설정합니다.
  • expectAcceptanceOf 포함 actionAccessibilityRequirement: 대여

라이브 TV

미디어 작업 피드에서 실시간 TV 액세스를 제한할 수 있습니다. channel 또는 이벤트를 다음 두 가지 사용자 조건을 충족해야 합니다.

  • 사용자의 기기 위치

    TV 채널에 대한 액세스를 제한하려면 사용자가 사용할 지역을 지정하세요. 액세스할 수 있어야 합니다. 이 조건은 일반적으로 로컬 방송에 적용됨 TV 채널

  • 사용자의 계정 상태

    TV 채널에 대한 액세스가 사용자의 계정 수준 설정에 종속되는 경우 사용 사용 권한 식별자를 제한을 나타냅니다.

    이 조건은 일반적으로 다음 사용 사례에 적용됩니다.

    • 번들: 전국적인 채널은 보통 사용자는 자신이 구독할 번들을 선택할 수 있습니다.
    • 부가기능: 일부 프리미엄 채널은 사용자가 선택적으로 구독에 채널 추가
    • 지역 스포츠 네트워크 (RSN): RSN은 일반적으로 사용자의 '집'과 연결됨 볼 수 있습니다 사용자가 콘텐츠를 시청할 수 있습니다. '집'을 벗어나 여행하는 경우에도 RSN에 볼 수 있습니다

서드 파티 구독

서드 파티 구독

구독자가 다른 서비스를 통해 콘텐츠를 사용할 수 있는 경우


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "externalsubscription"
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "requiresSubscription":{
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/faq",
      "name": "Example",
      "sameAs": "https://www.example.com/faq",
      "authenticator": {
        "@type": "Organization",
        "name": "TVE"
      }
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • authenticator를 추가하여 다른 서비스가 있음을 나타냅니다. 구독자를 인증합니다. 예를 들어 HBO GO는 케이블 제공업체에서 제공하는 요금제입니다.

일반적인 등급 패키지

공통 등급 콘텐츠는 구독 패키지입니다. 공통 등급은 category 속성이 있는 모든 콘텐츠에 적용됩니다. 총 subscription페이지입니다. category 속성에 관한 자세한 내용은 페이월 유형 섹션

공통 등급 패키지가 필요한 이유는 무엇인가요?

다양한 Google 제품에서 TV 및 사용자에게 영화 추천 이번 Google 검색, Android TV, Google 어시스턴트가 포함됩니다. 사용자 설정 Google은 모든 사용자가 사용할 수 있는 콘텐츠가 무엇인지 파악해야 합니다. 모든 구독자에게 공통된 계층을 제공합니다 또한 Google은 특정 구독 패키지가 있는 구독자에게 제공됩니다.

Google에서는 Entitlement API에 대한 요청 메시지입니다. 이 API를 사용하면 Google에서 각각의 구체적인 비공통 등급 타이틀을 이해할 수 있습니다. 액세스할 수 있습니다.

공통 등급 패키지는 언제 생성해야 하나요?

공통 등급 패키지는 서비스에서 다음과 같은 콘텐츠를 제공할 때 필요합니다. 모든 구독자에게 제공됩니다. 여기에는 하나의 패키지만 제공하는 서비스가 포함됩니다. 여러 패키지 또는 부가기능을 제공하는 애플리케이션 및 서비스에 적합합니다

모든 구독자가 사용할 수 있는 콘텐츠가 없는 제공업체는 콘텐츠를 만들지 않아도 됨 공통 계층 패키지입니다 일례로 상호 배타적인 데이터를 제공하는 서비스 제공업체가 콘텐츠를 최적화할 수 있습니다.

일반적인 등급의 예

다음은 공통 등급의 예입니다.

등급별 정기 결제

단계식 구독 모델에서는 서비스 제공업체가 여러 개의 구독을 보유하고 있습니다. 골드, 실버, 브론즈 등급 등이 있습니다. 사용자 상위 계층 구독은 하위 계층의 모든 콘텐츠에 액세스할 수 있습니다. 사용자 수 상위 등급 콘텐츠에 액세스할 수 없습니다. 있습니다 다음 이미지는 패키지 구조의 예입니다.

골드 등급에는 실버 등급의 모든 콘텐츠가 포함됩니다.
            브론즈 등급 자체에 모든 브론즈 등급이 포함되어 있습니다.
그림 5. 단계식 정기 결제 패키지 구조

다음 코드 예시에서는 브론즈 패키지가 공통 계층입니다. 사용자는 해당 등급의 모든 콘텐츠에 액세스할 수 있습니다.

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/bronze",
      "name": "Bronze",
      "sameAs": "https://www.example.com/package/bronze",
      "commonTier": true
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/silver",
      "name": "Silver",
      "sameAs": "https://www.example.com/package/silver",
      "identifier": "example.com:silver",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/gold",
      "name": "Gold",
      "sameAs": "https://www.example.com/package/gold",
      "identifier": "example.com:gold",
      "commonTier": false
    }
  ],

부가기능

부가기능 구독 모델에서 서비스 제공업체는 사용자가 기본 구독에 채널을 추가합니다. 사용자가 다음으로 추가할 수 있음: 여러 채널을 운영할 수 있습니다. 다음 이미지는 패키지의 예입니다. 있습니다.

모든 사용자는 기본 채널부터 시작하며
            PRO, Sportz 및 Moviemax 채널의 모든 조합
그림 6. 부가기능 구독 패키지 구조

모든 사용자가 사용할 수 있는 채널이고 채널을 사용하면 패키지를 공통 등급 패키지와 병합할 수 있습니다.

다음 코드 예시에서는 기본 패키지가 공통 계층입니다. 왜냐하면 사용자는 이 패키지의 모든 콘텐츠에 액세스할 수 있습니다.

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/basic",
      "name": "Basic",
      "sameAs": "https://www.example.com/package/basic",
      "commonTier": true
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/packages/basic/pro",
      "name": "PRO",
      "sameAs": "https://www.example.com/package/pro",
      "identifier": "example.com:pro",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/sportz",
      "name": "Sportz",
      "sameAs": "https://www.example.com/package/sports",
      "identifier": "example.com:sportz",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/moviemax",
      "name": "Moviemax",
      "sameAs": "https://www.example.com/package/moviemax",
      "identifier": "example.com:moviemax",
      "commonTier": false
    }
  ],

콘텐츠가 교차하는 패키지

패키지에 콘텐츠가 교차하는 콘텐츠 모델에서 서비스는 provider가 다른 패키지의 일부 콘텐츠가 포함된 패키지를 판매합니다. 이 다음 이미지는 패키지 구조의 예입니다.

패키지 1, 2, 3이 겹치는 부분이 있는 벤다이어그램
            &#39;공통 등급&#39;으로 표시됩니다.
그림 7. 콘텐츠가 교차하는 패키지 구조

다음 코드 예에서 제공자는 3개의 패키지를 제공하며, 교차하는 영역입니다. 이 경우 네 번째 패키지는 필수 속성입니다 모든 콘텐츠가 포함되어야 합니다. 사용할 수 있습니다

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/1",
      "name": "Package 1",
      "sameAs": "https://www.example.com/package/1",
      "identifier": "example.com:package1",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/2",
      "name": "Package 2",
      "sameAs": "https://www.example.com/package/2",
      "identifier": "example.com:package2",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/3",
      "name": "Package 3",
      "sameAs": "https://www.example.com/package/3",
      "identifier": "example.com:package3",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/common",
      "name": "Common Tier Package",
      "sameAs": "https://www.example.com/package/common",
      "commonTier": true
    }
  ],

교차하는 콘텐츠가 없는 패키지

모든 콘텐츠 패키지가 교차하지 않는 콘텐츠 모델에서 서비스는 provider가 다른 패키지의 콘텐츠가 포함되지 않은 패키지를 판매합니다. 이 다음 이미지는 패키지 구조의 예입니다.

패키지 1, 2, 3은 완전히 별개입니다.
그림 8. 교차되지 않는 패키지 구조 제공됩니다.

다음 예에서 제공자는 콘텐츠가 없는 세 개의 패키지를 제공합니다. 교차하도록 할 수 있습니다. 공통 등급 패키지가 필요하지 않습니다.

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/1",
      "name": "Package 1",
      "sameAs": "https://www.example.com/package/1",
      "identifier": "example.com:package1",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/2",
      "name": "Package 2",
      "sameAs": "https://www.example.com/package/2",
      "identifier": "example.com:package2",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/3",
      "name": "Package 3",
      "sameAs": "https://www.example.com/package/3",
      "identifier": "example.com:package3",
      "commonTier": false
    }
  ],

사용 권한 엔드포인트

이 섹션의 정보를 사용하여 사용자 관련 권한을 나타냅니다

기본 요건

시작하기 전에 서비스가 Google의 OAuth 2.0 흐름

요청

사용자의 사용 권한을 수신하기 위해 Google에서는 사용자의 OAuth 토큰입니다. 엔드포인트에서 OAuth를 기반으로 사용자를 식별해야 합니다. 토큰입니다. 아래 예를 참고하세요.

GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer <OAuthToken>

응답

엔드포인트는 다음 속성이 포함된 응답을 반환해야 합니다.

속성
subscription

필수

이는 루트 응답 내의 필드입니다.

subscription.type

필수

이 속성은 다음 값을 가질 수 있습니다.

  • ActiveSubscription: 사용자에게 활성 상태의 정기 결제가 있습니다. 전송합니다.
  • ActiveTrial: 사용자에게 제공업체
  • InactiveSubscription: 사용자에게 활성 기기가 없습니다. 정기 결제 또는 활성 무료 체험판 중 하나일 수 있습니다.
subscription.expiration_date

선택사항

이 사용 권한의 만료일(단위: ISO 8601 형식, 확인할 수 있습니다. 자세한 내용은 만료일.

entitlements

선택사항

이 루트 속성에는 entitlementId 값이 포함되어 있습니다. 사용자 보존 조치

entitlements.entitlement

스트리밍 카탈로그 액세스 권한이 다양한 경우 필수 구독 유형에 따라 다릅니다

이 속성에는 entitlementId가 포함되어 있습니다. 자세히 알아보기 자세한 내용은 사용 권한 식별자.

entitlements.expiration_date

선택사항

구독 만료일(단위: ISO 8601 형식, 확인할 수 있습니다. 자세한 내용은 만료일.

만료일

만료를 처리하는 엔드포인트 응답의 두 가지 속성 날짜: subscription.expiration_dateentitlements.expiration_date. 나 둘 다 포함할 수는 없지만 둘 다 포함할 수는 없습니다. 어떤 것을 사용할지에 따라 구독 모델에 따라 달라집니다

구독 모델
스트리밍 카탈로그에 대한 액세스 권한은 모든 구독자에게 동일합니다. entitlements를 지정할 필요가 없기 때문입니다. 속성에서는 subscription.expiration_date를 지정합니다.

스트리밍 카탈로그 액세스 권한은 확인할 수 있습니다

구독 모델에 여러 등급 또는 부가기능이 있는 경우 만료되는 경우 다음 중 하나를 실행하세요.

  • 모든 entitlements.entitlement 값이 만료되는 경우 동시에 subscription.expiration_date를 지정합니다.
  • 일부 entitlements.entitlement 값이 시간이 다른 경우 entitlements.expiration_date를 지정합니다.

응답 예시

다음은 다양한 정기 결제 상태에 관한 응답의 예입니다.

  • 사용 중인 구독
  • 만료일이 있는 활성 상태의 정기 결제
  • 구독 없음
  • 여러 등급 또는 부가기능에 대한 활성 상태의 정기 결제

사용 중인 구독

구독 중

사용자가 example.com을 구독하고 있습니다. 이 모든 구독자가 전체 스트리밍 카탈로그에 액세스할 수 있습니다. 구독 유형에 상관없이


{
  "subscription" : {
    "type": "ActiveSubscription",
  }
}

만료일이 있는 활성 상태의 정기 결제

만료일이 있는 활성 정기 결제

사용자가 example.com을 구독 중이며, 만료일이 있습니다 이 경우 모든 구독자에게 구독 여부와 상관없이 전체 스트리밍 카탈로그 이용 가능 있습니다.


{
  "subscription" : {
    "type": "ActiveSubscription",
    "expiration_date": "2019-11-10T10:00:00Z"
  }
}

구독 없음

구독 안함

사용자가 example.com을 구독하지 않습니다.


{
  "subscription" : {
    "type": "InactiveSubscription"
  }
}

여러 등급 또는 부가기능에 대한 활성 상태의 정기 결제

여러 등급 또는 부가기능에 대한 활성 상태의 정기 결제

사용자가 특정 날짜까지 example.com:premium를 정기 결제합니다.


{
  "subscription" : {
    "type": "ActiveSubscription",
  }
  "entitlements": [
    {
      "entitlement": "example.com:premium",
      "expiration": "2019-11-10T10:00:00Z"
    }
  ]
}
<ph type="x-smartling-placeholder">

비율 제한

Google은 최대 6시간마다 사용자의 사용 권한 정보를 새로고침합니다. 받는사람 최대 초당 쿼리 수 (QPS)를 낮추면 Google에서 쿼리를 엔드포인트에 배포하세요 따라서 예상 평균을 추정할 수 있습니다. 다음 수식을 사용한 엔드포인트의 QPS:

예상 평균 QPS = <총 사용자 수> / 21,600초 (6시간 x 60분 x 60초)

많은 수의 사용자를 지원하는 경우 Google에서 6시간 간격을 조정할 수 있습니다. 필요한 경우 Google에 연락하여 구성에 대해 논의합니다.

Google에 문의

엔드포인트가 준비되면 Google에 문의하여 엔드포인트의 URL을 알립니다.

작업 액세스 사양 속성

자세한 내용은 작업 액세스 사양 속성 섹션을 참조하세요. 확인할 수 있습니다