Kullanıcılar halihazırda erişebildikleri içerikleri izlemeyi veya dinlemeyi tercih eder. Örneğin, mevcut abonelik içeriklerini takip edebilirsiniz. Google bir kullanıcının hangi içeriği erişimi artırmaya karar verirseniz Google, daha iyi bir arama sonucu veya kullanıcıyı bu içeriğe yönlendiren yanıt olabilir.
İçerik erişimi gereksinimlerini belirleme
daha fazla bilgi edinebilirsiniz. Bunu yaparken aşağıdaki soruları göz önünde bulundurun:
- İçeriğe erişmek için kullanıcıların uygulamanıza veya platformunuza giriş yapması gerekiyor mu?
Kullanıcıların aboneliğe ihtiyacı var mı?
Yalnızca İzleme İşlemleri:
- Kullanıcıların harici bir servis sağlayıcıdan aboneliğe ihtiyacı var mı?
- Katmanlı, çoklu paket veya eklenti aboneliği sunuyor musunuz?
Yalnızca İzleme İşlemleri: Kullanıcıların içeriği kiralaması veya satın alması mı gerekiyor?
Erişim gereksinimi zaman içinde değişir mi?
Erişim gereksinimi cihazın konumuna bağlı mı?
Erişim kısıtlaması türleri
İki tür erişim kısıtlaması vardır:
Ödeme duvarı türü
İçeriğe erişimi ödeme duvarı türüne göre kısıtlayabilirsiniz. Aşağıdaki tablo Farklı ödeme duvarı türleriyle ilgili ayrıntılı bilgi aşağıda verilmiştir:
Ödeme duvarı türü | Örnek | Kategori |
---|---|---|
Satın alma veya giriş gerekmez. | Crackle | nologinrequired |
Kullanıcı giriş yapmış olmalıdır, ancak ücretli bir aboneliğe ihtiyacı yoktur. | Vudu (AVOD) | free |
Kullanıcının etkin bir aboneliği olmalıdır. Erişim şunlardan bağımsızdır: abonelik katmanıdır. | Netflix |
|
Kullanıcının etkin bir aboneliği olmalıdır. Erişim şunlara bağlıdır: abonelik katmanıdır. | Hulu (eklentiler) |
|
İçerik, yayınlanma tarihinden sonra sınırlı bir süre boyunca değeri için teklif verirsiniz. | Vudu | rental |
İçerik, yayınlanma tarihinden sonra sınırsız bir süre boyunca değeri için teklif verirsiniz. | Vudu | purchase |
İçeriklere kablolu yayın aboneliğiyle erişilebilir. | HBO Go | externalSubscription |
İzleme İşlemleri için ödeme duvarı türü
İzleme İşlemleri için içerik ödeme duvarı türünü belirtmek üzere
category
İşlem erişimi teknik özellikleri:
"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"
}
},
...
}
Dinleme İşlemleri için ödeme duvarı türü
Dinleme İşlemleri için içerik ödeme duvarı türünü belirtmek üzere
category
teklif nesnesi:
"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"
}
},
...
}
Coğrafi alan
İçeriğin kullanılabildiği coğrafi bölgeleri belirtmeniz gerekir. Web sitemiz g.co/newsinitiative'de aşağıdaki özelliklerin ikisi de
- Bir
eligibleRegion
İşlem erişimi teknik özellikleri nesnesini tanımlayın. Bu özellik zorunludur. - Bir
ineligibleRegion
İşlem erişimi teknik özellikleri nesnesini tanımlayın.
Cihaz konumu bu kapsama giren bir bölgedeyse kullanıcı, içeriğe erişebilir.
eligibleRegion
bölgesinde belirtilmiş olup şurada belirtilen herhangi bir bölge içinde değildir:
ineligibleRegion
.
eligibleRegion
ve ineligibleRegion
özellikleri aşağıdakilere izin verir:
değerleri:
- İş Listesi
Country
,City
veState
. - CEVAP
GeoShape
nesnesini tanımlayın. Bkz.GeoShape
mülk bölümüne bakın. GeoShape
nesne içeren liste.
İçerik dünya genelinde kullanılabiliyorsa şu özel değeri kullanın:
eligibleRegion
:
"eligibleRegion": "EARTH",
uygunBölge kullanım alanları
Aşağıda, eligibleRegion
özelliğinin kullanım alanı örnekleri verilmiştir:
- 1. Örnek: Ülke listesiyle
eligibleRegion
. - 2. Örnek: Şu özelliklere sahip bir
GeoShape
nesnesiyleeligibleRegion
: posta kodlarının listesini içerir. - 3. Örnek: Şu özelliklere sahip bir
GeoShape
nesnesiyleeligibleRegion
: Yönlendiren Sıralama Alanı (FSA) kodlarının listesini içerir. - 4. Örnek: Şu özelliklere sahip bir
GeoShape
nesnesiyleeligibleRegion
: bir DMA kimliği içeriyorsa - 5. Örnek:
GeoShape
nesne içeren bir liste ileeligibleRegion
. Her biri bir TPA kimliği içerir. - 6. Örnek: Kapalı posta kodları içeren
ineligibleRegion
.
1. Örnek
Ülke listesi içeren 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. Örnek
GeoShape
nesnesini içeren eligibleRegion
posta kodlarının bir listesini içerir:
"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. Örnek
GeoShape
nesnesini içeren eligibleRegion
Yönlendiren Sıralama Alanı (FSA) kodlarının listesini içerir:
"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. Örnek
GeoShape
nesnesini içeren eligibleRegion
bir TPA kimliği içeriyorsa:
"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" } ] } }
Örnek 5
GeoShape
nesne içeren liste içeren eligibleRegion
.
Her biri bir TPA kimliği içerir:
"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. Örnek
Posta kodu gizlenmiş 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" ] } }
Yararlanma hakkı tanımlayıcısı
Yararlanma hakkı tanımlayıcısı (entitlementId
),
medya kataloğunuzdaki bir içerik grubuna erişebilir. Bir kullanıcının
İçeriğinize erişimi olduğunda Google aşağıdaki adımları uygular:
- Yararlanma hakları uç noktası Kullanıcının yararlanma hakkı tanımlayıcılarını kullanır.
- İçeriğin gerekli yararlanma hakkı tanımlayıcılarını medyanızdan ararız. İşlem feed'i.
- Kullanıcının
entitlementId
özelliğiniidentifier
öğesinin özelliği medya aboneliği nesnesi. En azentitlementId
eşleşiyorsa kullanıcının içerik.
Google, entitlementId
için aşağıdaki söz dizimini kullanmanızı önerir:
<domain name> + colon (:) + <access level to content>
Söz dizimi örnekleri:
example.com:basic
example.com:premium
example.com:sports
Yararlanma hakkı tanımlayıcısı örneği
MediaExampleCompany'nin feed'i, Movie XYZ
için
example.com:basic
entitlementId
, gösterildiği gibi:
{ "@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 ... }, ... } }, ... }
Erişimin yaygın kullanım alanları
Erişimin yaygın kullanım alanları şunlardır:
- Ücretsiz (giriş yapılması gerekmez): İçerik giriş yapılmadan, abonelik yapılmadan veya satın alınmadan kullanılabilir.
- Ücretsiz (giriş gereklidir): İçerik için kullanıcıların giriş yapması gerekir ancak abonelik gerekmez.
- Tek katmanlı abonelik: Bu içerik için abonelik gerekiyor. Tüm aboneler aynı içeriğe erişebilir aboneliklerinden bağımsız olarak içerik (film veya bölüm) paketinden yararlanın.
- Çok katmanlı abonelik: için abonelik gerekir. Aboneler farklı içeriklere erişebilir. abonelik katmanına göre inceleyebilirler. Örneğin, Gümüş ve Altın.
- Eklenti aboneliği: İçerik abonelik gerekir. Aboneler, videolarına premium içerik ekleyebilir. normal abonelik.
- Tek seferlik satın alım: İçerik şunları yapabilir: kullanıcı süresiz olarak erişebilir.
- Canlı TV: Aboneliklerde şunlara erişim bulunur: yerel, ulusal ve premium kanallarda)
- Üçüncü taraf aboneliği: İçerik, kullanıcının kablolu yayın sağlayıcısıyla giriş yapmasını gerektiriyor.
Ücretsiz (giriş yapılması gerekmez)
Giriş yapılması gerekmez
Bu içeriğe giriş yapmadan veya abonelik gerekmeden erişebilirsiniz.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "nologinrequired", "availabilityStarts": "2015-01-01T00:00Z", "availabilityEnds": "2015-12-31T00:00Z", "eligibleRegion": { "@type": "Country", "name": "US" } } }
category
değerininologinrequired
olarak ayarlayın.expectAcceptanceOf
eklemeyin.
Ücretsiz (giriş gerekir)
Giriş yapılması gerekiyor
İçerik, kullanıcıların giriş yapmasını gerektiriyor ancak abonelik.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "free", "availabilityStarts": "2015-01-01T00:00Z", "availabilityEnds": "2015-12-31T00:00Z", "eligibleRegion": { "@type": "Country", "name": "US" } } }
category
değerinifree
olarak ayarlayın.expectAcceptanceOf
eklemeyin.
Tek katmanlı abonelik
Tek katmanlı abonelik modelinde servis sağlayıcının bir abonelik katmanıdır. Tüm aboneler aynı içeriğe erişebilir. Örneğin, filmler veya bölümler dahildir.
{ "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" } } }
Çok katmanlı abonelik
Katmanlı abonelik modelinde bir servis sağlayıcının birden fazla Gold, Silver ve Bronz. Üst katman aboneliğine sahip kullanıcılar tüm içerik sunar. Ancak daha düşük katmana sahip kullanıcılar aboneliğin üst katman içeriklerine erişimi yoktur.
Aşağıdaki senaryoyu değerlendirin:
- Jale Altın kademesine abone olur. Yararlanma haklarınız
uç nokta aşağıdaki
entitlementId
tanımlayıcılarını döndürür:example.com:bronze
example.com:silver
example.com:gold
- Can Bronz kademesine abone olur. Yararlanma haklarınız
uç nokta aşağıdaki
entitlementId
değerini döndürür:example.com:bronze
- Medya İşlemleri feed'iniz aşağıdaki gereksinimleri açıklar:
- A Filmi için
example.com:bronze
gerekiyor. - B Filmi için
example.com:silver
gerekir.
- A Filmi için
Bu senaryoda Google, Jale için aşağıdaki erişim düzeylerini belirler ve Cem:
- Hem Canan hem de Cem A Filmi'ne erişebilir.
- Jale'nin B Filmi'ne erişimi vardır ancak Can'ın erişimi yoktur.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
Eklenti aboneliği
Eklenti aboneliği modelinde servis sağlayıcı, kullanıcıların yararlanma haklarını genişletme ve temel aboneliğe kanalları ekleme. Kullanıcı Sayısı kanal ekleyebilirler.
Aşağıdaki senaryoyu değerlendirin:
- Jale'nin şunların yanı sıra PRO ve Sportz da vardır:
Temel abonelik. Yararlanma hakları uç noktanız,
şu
entitlementId
tanımlayıcı:example.com:basic
example.com:pro
example.com:sportz
- Cem'in yalnızca Temel aboneliği vardır. Yararlanma haklarınız
uç nokta aşağıdaki
entitlementId
değerini döndürür:example.com:basic
- Medya İşlemleri feed'iniz aşağıdaki gereksinimleri açıklar:
- A Filmi için
example.com:basic
gerekiyor. - B Filmi için
example.com:pro
gerekir.
- A Filmi için
Bu senaryoda Google, Jale için aşağıdaki erişim düzeylerini belirler ve Cem:
- Hem Canan hem de Cem A Filmi'ne erişebilir.
- Jale'nin B Filmi'ne erişimi vardır ancak Can'ın erişimi yoktur.
{ "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 } } } }
Tek seferlik satın alım
Satın alma
İçerik, yayınlanma tarihinden sonra sınırsız bir süre boyunca değeri için teklif verirsiniz.
{ "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
değerinipurchase
olarak ayarlayın.expectAcceptanceOf
öğesini dahil et ürünün fiyatını belirtmek içinactionAccessibilityRequirement
değeri için teklif verirsiniz.
Kiralama
İçerik, yayınlanma tarihinden sonra sınırlı bir süre boyunca değeri için teklif verirsiniz.
{ "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
değerinirental
olarak ayarlayın.expectAcceptanceOf
öğesini dahil et ürünün fiyatını belirtmek içinactionAccessibilityRequirement
kiralama.
Canlı TV
Medya İşlemleri feed'inde Canlı TV'ye erişimi kısıtlayabilirsiniz. channel veya etkinliğe dayalı olarak şu iki kullanıcı koşulunu kullanıyor:
-
Kullanıcının cihazının konumu
TV kanalına erişimi kısıtlamak için kullanıcıların bulunduğu alanı belirtin erişimi olur. Bu durum genellikle yerel yayın için geçerlidir. TV kanalları.
-
Kullanıcının hesap durumu
Bir TV kanalına erişim kullanıcının hesap düzeyindeki ayarına bağlıysa kullan yararlanma hakkı tanımlayıcılarını kısıtlamayı temsil eder.
Bu koşul genellikle aşağıdaki kullanım alanları için geçerlidir:
- Paket: Ulusal kanallar genellikle paketleri içerir ve kullanıcılar hangi pakete abone olmak istediklerini seçer.
- Eklenti: Bazı premium kanallar, kullanıcıların aboneliklerine seçerek fazladan kanallar ekleyebilir.
- Bölgesel Spor Ağı (RSN): RN'ler genellikle Kullanıcının "evi" ile ilişkili konum. Kullanıcılar içerikleri izleyebilir "evlerinin" dışına seyahat ettiklerinde bile RSN'de konum.
Üçüncü taraf aboneliği
Üçüncü taraf aboneliği
İçerik, abonelere farklı bir hizmet üzerinden sunulur.
{ "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" } } }
- Farklı bir hizmetin bulunduğunu belirtmek için
authenticator
ekleyin abonelerin kimliğini doğrular. Örneğin HBO GO'da oyun için Kablolu TV aboneliğini satın almalısınız.
Ortak katman paketleri
Ortak katman içeriği, erişim düzeylerine bakılmaksızın tüm abonelere sunulur.
abonelik paketi. Ortak katman, category
öğesine sahip tüm içerikler için geçerlidir
/ subscription
. category
özelliği hakkında daha fazla bilgi için
Ödeme duvarı türü bölümü.
Neden ortak katman paketi gerekiyor?
Birden fazla Google ürünü, TV ve kullanıcılara film önerileri; bu Google Arama, Android TV ve Google Asistan'ı içerir. Kullanıcıyı ayarlamak için olarak ortaya çıktığında, Google her yeni müşteri için hangi içeriğin mevcut ortak katmanı kullanarak abone sayısını artırabilirsiniz. Google aynı zamanda İçerik, belirli abonelik paketlerine sahip abonelere sunulur.
Google, şuni desteklemediğiniz sürece ortak katmanda bulunan başlıkları önerir: entitlement API ile iletişime geçin. Bu API, Google'ın her biri için özel olmayan ortak katman başlıklarını anlamasını sağlar. erişebilir.
Ne zaman ortak katman paketi oluşturmalıyım?
Hizmetiniz aşağıdaki türde içerikler sunduğunda ortak katman paketi gerekir: tüm aboneler tarafından kullanılabilir. Yalnızca tek bir paket sunan hizmetler buna dahildir ve birden fazla paket veya eklenti sunan hizmetler.
Tüm abonelerin kullanabileceği içeriğe sahip olmayan sağlayıcıların içerik oluşturması gerekmez. paket oluşturabilirsiniz. Buna örnek olarak, karşılıklı ek hizmetler sunan tüm paketlerindeki içeriği takip eder.
Sık kullanılan katman örnekleri
Aşağıda, ortak katmana örnekler verilmiştir.
Kademeli Abonelik
Katmanlı abonelik modelinde bir servis sağlayıcının birden fazla aboneliği bulunur Altın, Silver ve Bronz katmanlar gibi katmanlara ulaşabilirsiniz. Şuna sahip kullanıcılar: üst katmandaki abonelikler ise alt katmanlardaki tüm içeriklere erişebilir. Kullanıcı Sayısı Alt katmandaki içeriklere erişimi yoktur. katman. Aşağıdaki resimde paket yapısının bir örneği gösterilmektedir.
Aşağıdaki kod örneğinde bronz paket ortak katmandır çünkü kullanıcıları bu katmandaki tüm içeriğe erişebilir.
"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 } ],
Eklentiler
Eklenti aboneliği modelinde servis sağlayıcı, kullanıcıların yararlanma hakları ve kanalları temel bir aboneliğe ekleme. Kullanıcılar şu şekilde ekleyebilir: YouTube'u kullanabilirsiniz. Aşağıdaki resimde paket inceleyeceğiz.
Tüm kullanıcıların erişebildiği bir kanalınız varsa ve kanalında, paketi ortak katman paketiyle birleştirebilirsiniz.
Aşağıdaki kod örneğinde temel paket ortak katmandır çünkü kullanıcıları bu paketteki tüm içeriğe erişebilir.
"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 } ],
Kesişen içeriklerin bulunduğu paketler
Paketlerin kesişen içeriklerin bulunduğu içerik modelinde bir hizmet Sağlayıcı, diğer paketlerdeki bazı içeriklerin bulunduğu paketler satıyor. İlgili içeriği oluşturmak için kullanılan aşağıdaki resimde paket yapısının bir örneği verilmiştir.
Aşağıdaki kod örneğinde sağlayıcı, tüm paketlerde kesişiyordur. Bu örnekte, dördüncü paket ortak katmanı temsil eden bir grafik olmalıdır. Tüm içeriği içermelidir. üç pakette de kullanılabilir.
"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 } ],
Kesişen içeriği olmayan paketler
Tüm içerik paketlerinin kesişmediği içerik modelinde bir hizmet Sağlayıcı, diğer paketlerden içerik barındırmayan paketler satıyor. İlgili içeriği oluşturmak için kullanılan aşağıdaki resimde paket yapısının bir örneği verilmiştir.
Aşağıdaki örnekte sağlayıcı, içerik barındırmayan üç paket sunuyor tüm paketlerde kesişiyordur. Ortak katman paketi gerekmez.
"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 } ],
Yararlanma hakları uç noktası
bir kullanıcı ile ilişkili yararlanma hakları.
Ön koşul
Başlamadan önce hizmetinizin Google ile OAuth 2.0 akışı.
İstek
Google, bir kullanıcının yararlanma haklarını almak için şunu içeren bir istek gönderir: kullanıcının OAuth jetonu. Uç noktanızın, kullanıcıyı bu OAuth'a göre tanımlaması gerekir jeton. Aşağıdaki örneğe bakın:
GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer <OAuthToken>
Yanıt
Uç noktanızın aşağıdaki özelliklere sahip bir yanıt döndürmesi gerekir:
Özellik | |
---|---|
subscription |
Zorunlu Bu, kök yanıtın içindeki bir alandır. |
subscription.type |
Zorunlu Bu özellik aşağıdaki değerlere sahip olabilir:
|
subscription.expiration_date |
İsteğe bağlı Bu yararlanma hakkının sona erme tarihi: ISO 8601 biçimi, bir saat dilimine göre ayarlanır. Daha fazla bilgi için bkz. Geçerlilik bitiş tarihleri. |
entitlements |
İsteğe bağlı Bu kök mülk, |
entitlements.entitlement |
Canlı yayın kataloğunuza erişim değişiklik gösteriyorsa zorunludur. tercih edebilirsiniz. Bu mülk |
entitlements.expiration_date |
İsteğe bağlı Bu aboneliğin sona erme tarihi: ISO 8601 biçimi, bir saat dilimine göre ayarlanır. Daha fazla bilgi için bkz. Geçerlilik bitiş tarihleri. |
Geçerlilik bitiş tarihi
Uç nokta yanıtında geçerlilik süresiyle ilgilenen iki özellik vardır
tarihler: subscription.expiration_date
ve entitlements.expiration_date
. Siz
ikisinden birini içerebilir veya hiçbirini içeremez. Hangisini kullanacağınıza bağlı olarak
abonelik modelinizi gösterir.
Abonelik modeli | |
---|---|
Yayın kataloğunuza tüm aboneler erişebilir. | entitlements özelliğini belirtmeniz gerekmez.
özelliği, subscription.expiration_date özelliğini belirtin. |
Akış kataloğunuza erişim, içerik üreticinin ayrıntılarına göre abonelik. |
Abonelik modelinizde süresi dolarsa aşağıdakilerden birini yapın:
|
Örnek yanıtlar
Aşağıda, farklı abonelik durumlarına ilişkin örnek yanıtlar verilmiştir:
- Etkin abonelik
- Son kullanma tarihi olan etkin abonelik
- Aboneliksiz deneyim
- Birden fazla katman veya eklenti için etkin abonelikler
Etkin abonelik
Etkin abonelik
Bir kullanıcının example.com için etkin bir aboneliği vardır. Burada Böylece tüm aboneler canlı yayın kataloğunuzun tamamına erişebilir. abonelik türünden bağımsız olarak yayınlayabilirsiniz.
{ "subscription" : { "type": "ActiveSubscription", } }
Son kullanma tarihi olan etkin abonelik
Son kullanma tarihi olan etkin abonelik
Bir kullanıcının example.com için etkin bir aboneliği varsa ve aboneliğin sona erme tarihi var. Bu durumda tüm aboneler aboneliklerinden bağımsız olarak tüm yayın kataloğunuza erişebilir türü.
{ "subscription" : { "type": "ActiveSubscription", "expiration_date": "2019-11-10T10:00:00Z" } }
Aboneliksiz deneyim
Abonelik yok
Bir kullanıcının example.com için aboneliği yoktur.
{ "subscription" : { "type": "InactiveSubscription" } }
Birden fazla katman veya eklenti için etkin abonelikler
Birden fazla katman veya eklenti için etkin abonelikler
Bir kullanıcının belirli bir tarihe kadar example.com:premium
aboneliği var.
{ "subscription" : { "type": "ActiveSubscription", } "entitlements": [ { "entitlement": "example.com:premium", "expiration": "2019-11-10T10:00:00Z" } ] }
Oran sınırı
Google, kullanıcının yararlanma hakları bilgilerini altı saatte bir yeniler. Alıcı: Saniyedeki maksimum sorgu sayısını (QPS) sorunsuz hale getiren Google, ekleyebilirsiniz. Bu nedenle, tahmini ortalamanın Aşağıdaki formülle uç noktanız için QPS:
Beklenen ortalama QPS = <toplam kullanıcı sayısı> / 21.600 saniye (6 saat x 60 dakika x 60 saniye)
Çok sayıda kullanıcıyı destekliyorsanız Google 6 saatlik aralığı ayarlayabilir. Gerekirse yapılandırmayla ilgili görüşmek için Google ile iletişime geçin.
Google ile bağlantı kurun
Uç noktanız hazır olduğunda uç noktanın URL'sini bilgilendirmek için Google ile iletişime geçin.
İşlem erişimi spesifikasyonu özellikleri
Bkz. referans için işlem erişim spesifikasyonu özellikleri bölümü ekleyebilirsiniz.