Erişim şartları

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.

Şekil 1. Erişim koşulları, abonelerinizin erişmesine yardımcı olur .

İç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

subscription

Kullanıcının etkin bir aboneliği olmalıdır. Erişim şunlara bağlıdır: abonelik katmanıdır. Hulu (eklentiler)

subscription

İç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

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:

İç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 nesnesiyle eligibleRegion: posta kodlarının listesini içerir.
  • 3. Örnek: Şu özelliklere sahip bir GeoShape nesnesiyle eligibleRegion: Yönlendiren Sıralama Alanı (FSA) kodlarının listesini içerir.
  • 4. Örnek: Şu özelliklere sahip bir GeoShape nesnesiyle eligibleRegion: bir DMA kimliği içeriyorsa
  • 5. Örnek: GeoShape nesne içeren bir liste ile eligibleRegion. 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:

  1. Yararlanma hakları uç noktası Kullanıcının yararlanma hakkı tanımlayıcılarını kullanır.
  2. İçeriğin gerekli yararlanma hakkı tanımlayıcılarını medyanızdan ararız. İşlem feed'i.
  3. Kullanıcının entitlementId özelliğini identifier öğesinin özelliği medya aboneliği nesnesi. En az entitlementId eşleşiyorsa kullanıcının içerik.
Şekil 2. Kullanıcının yararlanma hakkı tanımlayıcılarından biri eşleşiyor içeriğin gerekli yararlanma hakkı tanımlayıcısıdır.

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ğerini nologinrequired 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ğerini free 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.

Şekil 3. Katmanlı abonelik modeli ve temsil eder.

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.

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.

Şekil 4. Eklenti aboneliği modeli ve temsil eder.

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.

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ğerini purchase olarak ayarlayın.
  • expectAcceptanceOf öğesini dahil et ürünün fiyatını belirtmek için actionAccessibilityRequirement 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ğerini rental olarak ayarlayın.
  • expectAcceptanceOf öğesini dahil et ürünün fiyatını belirtmek için actionAccessibilityRequirement 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.

Altın katman, Gümüş katmanının tüm içeriğini barındırır.
            kendisi Bronz katmanının tamamını içeriyor.
Şekil 5. Katmanlı abonelik paketi yapısı.

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.

Her kullanıcı Temel kanalla başlar ve
            PRO, Sportz ve Moviemax kanallarının
tüm kombinasyonlarını kullanabilirsiniz.
Şekil 6. Eklenti aboneliği paketinin yapısı.

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.

Paket 1, 2 ve 3 arasındaki çakışmanın
            olarak etiketlenmiştir.
Şekil 7. Kesişen içeriklerin bulunduğu paket yapısı.

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.

1., 2. ve 3. paketler tamamen ayrıdır.
Şekil 8. Kesişmeyen paket yapısı dikkat edin.

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:

  • ActiveSubscription: Kullanıcının etkin bir aboneliği var sağlayabilir.
  • ActiveTrial: Kullanıcının sağlar.
  • InactiveSubscription: Kullanıcının etkin bir veya etkin bir denemeye katılabilirsiniz.
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,entitlementId kullanıcı muhafazaları.

entitlements.entitlement

Canlı yayın kataloğunuza erişim değişiklik gösteriyorsa zorunludur. tercih edebilirsiniz.

Bu mülk entitlementId öğesini içeriyor. Daha fazla bkz. Yararlanma hakkı tanımlayıcısı.

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:

  • Tüm entitlements.entitlement değerlerinin süresinin dolacağı zaman: ile başlıyorsa subscription.expiration_date değerini belirtin.
  • Bazı entitlements.entitlement değerlerinin süresi şu tarihte dolar: farklı zamanlar için entitlements.expiration_date değerini belirtin.

Ö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.