사용자는 다음과 같이 이미 액세스할 수 있는 콘텐츠를 보거나 듣는 것을 선호합니다. 기존 구독 콘텐츠 Google이 사용자가 사용할 수 있는 콘텐츠를 알고 있는 경우 Google에서 더 나은 검색결과를 구성할 수 있습니다 사용자를 해당 콘텐츠로 안내할 수 있습니다.
콘텐츠 액세스 요구사항 확인
애플리케이션의 각 콘텐츠 패키지에 대한 액세스 요구사항을 확인할 수 있습니다 이 작업을 수행할 때는 다음 질문을 고려하세요.
- 사용자가 콘텐츠에 액세스하려면 앱이나 플랫폼에 로그인해야 하나요?
사용자에게 정기 결제가 필요한가요?
시청 작업만 해당:
- 사용자가 외부 서비스 제공업체의 구독이 필요한가요?
- 등급별, 멀티 패키지 또는 부가기능 구독을 제공하나요?
시청 작업만 해당: 사용자가 콘텐츠를 대여하거나 구매해야 하나요?
액세스 요구사항이 시간이 지남에 따라 변경되나요?
액세스 요구사항은 기기 위치에 따라 달라지나요?
액세스 제한 유형
액세스 제한에는 두 가지 유형이 있습니다.
페이월 유형
페이월 유형별로 콘텐츠 액세스를 제한할 수 있습니다. 다음 표 다양한 페이월 유형을 자세히 살펴보겠습니다
페이월 유형 | 예 | 카테고리 |
---|---|---|
구매하거나 로그인할 필요가 없습니다. | Crackle | nologinrequired |
사용자는 로그인해야 하지만 유료 구독이 필요하지 않습니다. | Vudu (AVOD) | free |
사용자에게 활성 상태인 구독이 있어야 합니다. 액세스 권한은 구독 등급에 적용됩니다 | Netflix |
|
사용자에게 활성 상태인 구독이 있어야 합니다. 액세스 가능 여부는 구독 등급을 이용할 수 있습니다 | Hulu (부가기능) |
|
콘텐츠는 있습니다. | 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
입니다.
eligibleRegion
및 ineligibleRegion
속성은 다음을 허용합니다.
값:
- 목록
Country
님,City
및State
: GeoShape
객체. 자세한 내용은GeoShape
속성 섹션을 참조하세요.GeoShape
객체 목록입니다.
콘텐츠를 전 세계에서 사용할 수 있는 경우
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
eligibleRegion
를 GeoShape
객체 목록으로 바꿉니다.
각 에는 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에서 다음 단계를 따릅니다.
- Google은 사용 권한 엔드포인트에서 사용 권한 식별자
- YouTube는 미디어에서 콘텐츠의 필수 자격 식별자를 찾습니다. 작업 피드
- 사용자의
entitlementId
를identifier
속성 미디어 구독 객체에 추가합니다. 최소entitlementId
가 일치하는 경우 사용자가 있습니다.
entitlementId
에 다음 구문을 사용하는 것이 좋습니다.
<domain name> + colon (:) + <access level to content>
구문 예:
example.com:basic
example.com:premium
example.com:sports
사용 권한 식별자 예
MediaExampleCompany의 피드는 Movie XYZ
가
example.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" } } }
category
를nologinrequired
로 설정합니다.expectAcceptanceOf
는 포함하지 마세요.
무료 (로그인 필요)
로그인 필요
콘텐츠에서 사용자 로그인이 필요하지만 정기 결제를 신청해 보세요.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "free", "availabilityStarts": "2015-01-01T00:00Z", "availabilityEnds": "2015-12-31T00:00Z", "eligibleRegion": { "@type": "Country", "name": "US" } } }
category
를free
로 설정합니다.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" } } }
다중 계층 구독
단계식 구독 모델에서 서비스 제공업체는 구독 등급(예: 골드, 실버, 브론즈. 상위 등급 정기 결제를 이용하는 사용자는 모든 등급에 액세스할 수 있습니다. 하위 계층의 콘텐츠를 말합니다 그러나 상위 등급 콘텐츠에 액세스할 수 없습니다.
다음 상황을 살펴보세요.
- 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
이(가) 필요합니다.
- 영화 A에는
이 시나리오에서 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 ... }, ... } }
부가기능 구독
부가기능 구독 모델에서 서비스 제공업체는 사용자가 다음을 할 수 있도록 허용합니다. 사용 권한을 확장하고 기본 구독에 채널 추가 사용자 수 원하는 만큼 채널을 추가할 수 있습니다.
다음 상황을 살펴보세요.
- Jane은 PRO 및 Sportz를 가지고 있으며
기본 구독 사용 권한 엔드포인트에서
다음
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
이(가) 필요합니다.
- 영화 A에는
이 시나리오에서 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/" } } } }
category
를purchase
로 설정합니다.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/" } } } }
category
를rental
로 설정합니다.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에서 각각의 구체적인 비공통 등급 타이틀을 이해할 수 있습니다. 액세스할 수 있습니다.
공통 등급 패키지는 언제 생성해야 하나요?
공통 등급 패키지는 서비스에서 다음과 같은 콘텐츠를 제공할 때 필요합니다. 모든 구독자에게 제공됩니다. 여기에는 하나의 패키지만 제공하는 서비스가 포함됩니다. 여러 패키지 또는 부가기능을 제공하는 애플리케이션 및 서비스에 적합합니다
모든 구독자가 사용할 수 있는 콘텐츠가 없는 제공업체는 콘텐츠를 만들지 않아도 됨 공통 계층 패키지입니다 일례로 상호 배타적인 데이터를 제공하는 서비스 제공업체가 콘텐츠를 최적화할 수 있습니다.
일반적인 등급의 예
다음은 공통 등급의 예입니다.
등급별 정기 결제
단계식 구독 모델에서는 서비스 제공업체가 여러 개의 구독을 보유하고 있습니다. 골드, 실버, 브론즈 등급 등이 있습니다. 사용자 상위 계층 구독은 하위 계층의 모든 콘텐츠에 액세스할 수 있습니다. 사용자 수 상위 등급 콘텐츠에 액세스할 수 없습니다. 있습니다 다음 이미지는 패키지 구조의 예입니다.
다음 코드 예시에서는 브론즈 패키지가 공통 계층입니다. 사용자는 해당 등급의 모든 콘텐츠에 액세스할 수 있습니다.
"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 } ],
부가기능
부가기능 구독 모델에서 서비스 제공업체는 사용자가 기본 구독에 채널을 추가합니다. 사용자가 다음으로 추가할 수 있음: 여러 채널을 운영할 수 있습니다. 다음 이미지는 패키지의 예입니다. 있습니다.
모든 사용자가 사용할 수 있는 채널이고 채널을 사용하면 패키지를 공통 등급 패키지와 병합할 수 있습니다.
다음 코드 예시에서는 기본 패키지가 공통 계층입니다. 왜냐하면 사용자는 이 패키지의 모든 콘텐츠에 액세스할 수 있습니다.
"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가 다른 패키지의 일부 콘텐츠가 포함된 패키지를 판매합니다. 이 다음 이미지는 패키지 구조의 예입니다.
다음 코드 예에서 제공자는 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가 다른 패키지의 콘텐츠가 포함되지 않은 패키지를 판매합니다. 이 다음 이미지는 패키지 구조의 예입니다.
다음 예에서 제공자는 콘텐츠가 없는 세 개의 패키지를 제공합니다. 교차하도록 할 수 있습니다. 공통 등급 패키지가 필요하지 않습니다.
"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 |
필수 이 속성은 다음 값을 가질 수 있습니다.
|
subscription.expiration_date |
선택사항 이 사용 권한의 만료일(단위: ISO 8601 형식, 확인할 수 있습니다. 자세한 내용은 만료일. |
entitlements |
선택사항 이 루트 속성에는 |
entitlements.entitlement |
스트리밍 카탈로그 액세스 권한이 다양한 경우 필수 구독 유형에 따라 다릅니다 이 속성에는 |
entitlements.expiration_date |
선택사항 구독 만료일(단위: ISO 8601 형식, 확인할 수 있습니다. 자세한 내용은 만료일. |
만료일
만료를 처리하는 엔드포인트 응답의 두 가지 속성
날짜: subscription.expiration_date
및 entitlements.expiration_date
. 나
둘 다 포함할 수는 없지만 둘 다 포함할 수는 없습니다. 어떤 것을 사용할지에 따라
구독 모델에 따라 달라집니다
구독 모델 | |
---|---|
스트리밍 카탈로그에 대한 액세스 권한은 모든 구독자에게 동일합니다. | entitlements 를 지정할 필요가 없기 때문입니다.
속성에서는 subscription.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" } ] }
비율 제한
Google은 최대 6시간마다 사용자의 사용 권한 정보를 새로고침합니다. 받는사람 최대 초당 쿼리 수 (QPS)를 낮추면 Google에서 쿼리를 엔드포인트에 배포하세요 따라서 예상 평균을 추정할 수 있습니다. 다음 수식을 사용한 엔드포인트의 QPS:
예상 평균 QPS = <총 사용자 수> / 21,600초 (6시간 x 60분 x 60초)
많은 수의 사용자를 지원하는 경우 Google에서 6시간 간격을 조정할 수 있습니다. 필요한 경우 Google에 연락하여 구성에 대해 논의합니다.
Google에 문의
엔드포인트가 준비되면 Google에 문의하여 엔드포인트의 URL을 알립니다.
작업 액세스 사양 속성
자세한 내용은 작업 액세스 사양 속성 섹션을 참조하세요. 확인할 수 있습니다