İçeriğinizin platforma özgü derin bağlantılarını tanımlayın

Bir kullanıcı içerikte Medya İşlemleri başlattığında (örneğin, Google Arama'da simgenizi tıkladığında) Google, içeriğin derin bağlantısını kullanarak kullanıcıyı doğrudan uygulamanızdaki veya platformunuzdaki içeriğe yönlendirir.

Derin bağlantılarla ilgili şartlar şunlardır:

  • urlTemplate (bir hedef nesnenin) derin bağlantı gerektirir.
  • Derin bağlantılar, hedeflenen içeriği belirtilen tüm platformlarda açmalıdır.
  • Derin bağlantılar parametreler (&) veya bağlantı etiketleri (#) içerebilir.

@id, url ve urlTemplate örneği:

{
   "@context": ["http://schema.org", {"@language": "en"}],
   "@type": "Movie",
   "@id": "http://www.example.com/my_favorite_movie",
   "url": "http://www.example.com/my_favorite_movie",
   "name": "My Favorite Movie",
   "potentialAction": {
     "@type": "WatchAction",
     "target": {
       "@type": "EntryPoint",
       "urlTemplate": "http://www.example.com/my_favorite_movie&autoplay=true",
       ...
     },
   ...
   },
   ...
}

Aşağıdaki sözde kod, bir kullanıcı oynatmayı başlattığında istenen davranışı gösterir:

if your app is installed
  open app and initiate playback
elseif your website supports playback
  open your website and initiate playback
else
  take user to your app's install page on the Play or App store and then
  initiate playback after your app is installed

İstenen oynatma davranışını elde etmek için aşağıdaki platforma özel koşullara uyun:

iOS
Geçiş Bağlantıları'nı kullanmanız gerekir.
Android ve Android TV
Android App Links veya özel şema bağlantılarını kullanabilirsiniz.

Android ve Android TV'de özel şema bağlantılarını da kullanabilirsiniz. Uygulamanızın package_id özel şema URI'sine dahil edilmelidir. Bu, uygulamanız yüklü değilse kullanıcının Play Store'daki uygulama sayfanıza yönlendirilmesini sağlar. Bu nedenle, aşağıdaki URI biçimleri, medya işlemleri için kabul edilebilir tek özel şema biçimleridir:

android-app://{package_id}/{scheme}/{path}

Örneğin:

android-app://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4

Daha fazla bilgi için tam spesifikasyona bakın.

intent://{package_id}/{scheme}/{path}

Örneğin:

intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4

Aşağıdaki örnekte olduğu gibi diğer URI biçimleri, medya işlemleri için kabul edilebilir özel şema bağlantıları değildir:

scheme://{path}

Örneğin:

mynetwork://play?series=20114&title=21141&media=e90c89fa4

En iyi uygulamalar

Uygulamanız yüklü değilse ve web oynatıcınız yoksa web sunucunuzu, kullanıcıyı uygulamanızı yüklemek için Android veya App Store'a otomatik olarak yönlendirecek şekilde yapılandırın. Yönlendirme için Firebase dinamik bağlantılarını veya üçüncü taraf akıllı bağlantı platformlarını kullanın.

Uygulamanızın yüklü olmadığı ve web oynatıcınızın olduğu durumlarda, kullanıcıların uygulamanızı yüklemesi için Android veya App Store'a bir bağlantı ya da akıllı banner sağlayın. Aşağıda, uygulanmış bir akıllı banner örneği verilmiştir:

Uygulanmış bir akıllı banner örneği

Aşağıdaki tabloda, iOS, Android ve Android TV ile ilgili derin bağlantı koşulları ve sınırlamaları gösterilmektedir:

iOS Android ve Android TV
http:// veya https:// Zorunlu Mobil web sitesi oynatmayı destekliyorsa önerilir.
android-app:// veya intent:// Yok Mobil web sitesi oynatmayı desteklemiyorsa önerilir.
foo:// (rastgele dize) İzin verilmiyor İzin verilmiyor

Platform türleri

İçeriğinizin, Medya İşlemleri'ni destekleyen birden fazla Google platformunda kullanılabilmesi için aşağıdaki koşulları karşılamanız gerekir:

Aşağıdaki tabloda, medya işlemlerini destekleyen platformların listesi yer almaktadır:

Platform Açıklama
http://schema.org/DesktopWebPlatform Masaüstü web tarayıcısında arama platformu.
http://schema.org/MobileWebPlatform Mobil web tarayıcısında arama platformu.
http://schema.org/AndroidPlatform Android uygulamasında Arama ve PlayGuide platformları
http://schema.org/AndroidTVPlatform Android TV uygulamasında Android TV platformu
http://schema.org/IOSPlatform iOS uygulamasında arama platformu
http://schema.googleapis.com/GoogleVideoCast Chromecast cihazda Cast ve Home platformları
http://schema.googleapis.com/GoogleAudioCast Yalnızca Dinleme İşlemleri. Chromecast cihazda Cast ve Home platformları

İki farklı derin bağlantısı olan bir öğe örneği:

"potentialAction": {
  "@type": "WatchAction",
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/standardView",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform"
      ]
    },
    {
      "@type":"EntryPoint",
      "urlTemplate":"http://example.com/multipleViews",
      "actionPlatform": [
        "http://schema.org/IOSPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/AndroidTVPlatform",
        "http://schema.googleapis.com/GoogleVideoCast"
      ],
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "videoFormat",
          "value": [ "HD", "4K" ]
        }
      ],
    }
  ],
  ...
}

Oynatma davranışı

Google, kullanıcıları uygulamanıza veya platformunuza yönlendirdiğinde çoğu içerik için seçilen içeriğin otomatik olarak oynatılmasını zorunlu kılarız. Bu sayede kullanıcılar, içerikleri hızlıca izlemeye veya dinlemeye başlayabilir.

İzleme İşlemleri oynatma davranışı

İzleme işlemleri için aşağıdaki oynatma davranışının sergilenmesi gerekir.

Tüm derin bağlantılar: Movie, TVEpisode, TVSeries ve TVSeason

  • Oturum açma veya satın alma davranışı: Hizmetinizde oturum açma veya satın alma işlemi gerekiyorsa film ya da bölüm, türüne uygun şekilde oynatılmalıdır. Daha ayrıntılı bilgi için aşağıdaki derin bağlantı yönergelerine bakın.

  • Oynatma: Hizmetiniz kullanıcının durumunu takip ediyorsa oynatma, kullanıcının film veya bölümdeki önceki işaretinden başlamalıdır. Aksi takdirde, oynatma içeriğin başından başlamalıdır.

  • Otomatik oynatma: Platforma bağlı olarak, hedef bölüm veya film kullanıcı tarafından seçildikten sonra hizmetinizin içeriği belirgin bir şekilde oynatması gerekir.

    • Arama: Otomatik oynatma kesinlikle önerilir ancak zorunlu değildir. Otomatik oynatma desteklenmiyorsa kullanıcı uygulamanıza veya hizmetinize yönlendirildikten sonra içerik tek tıklamayla oynatılmalıdır.
    • Android TV: Film ve bölümlerde otomatik oynatma özelliği zorunludur.

Yalnızca TVSeries ve TVSeason derin bağlantıları

  • Hedef bölüm seçimi: Doğru hedef bölümü seçmeniz gerekir. Hizmetiniz kullanıcının durumunu izliyorsa hedef bölüm, kullanıcının en son izlemeyi bıraktığı bölüm olmalıdır. Alternatif olarak, kullanıcı son izlediği bölümü tamamen bitirdiyse hedef bölümü sonraki bölüm olarak ayarlayın. Aksi takdirde, hedef bölüm aşağıdaki seçeneklerden biri olmalıdır (kendi takdirinize bağlı olarak):

    • TVSeries
      • Dizinin ilk bölümü. Seri hâlinde yayınlanan programlar için önerilir.
      • En son sezonun ilk bölümü. Uzun süren, bölümler halinde yayınlanan programlar için önerilir.
      • En son bölüm Günlük veya haberlerle ilgili programlar için önerilir.
    • TVSeason
      • Sezonun ilk bölümü. Seri hâlinde yayınlanan programlar için önerilir.
      • En son bölüm Günlük veya haberlerle ilgili programlar için önerilir.

    TVSeries veya TVSeason için derin bağlantı statik (değişmeyen) olmalı ve hedef bölüme yönlendirmelidir. Belirli bir bölüm için derin bağlantı kullanmayın.

    Aşağıdaki tabloda, TVSeries, TVSeason ve TVEpisode öğe türleri için gerekli hedef bölüm seçimi mantığını gösteren çeşitli örnekler verilmiştir:

    Kullanıcı en son 6. sezonun 24. bölümünü izlediyse bu bölümü hedefleyin. Kullanıcı herhangi bir bölüm izlemediyse hedef bölüm
    Dizi derin bağlantısı
    • S6E24 (kullanıcı S6E24'ü tamamlamadıysa)
    • S6E25 (kullanıcı S6E24'ü izlemeyi bitirdiyse)

    Aşağıdakilerden biri:

    • Dizinin ilk bölümü
    • En son sezonun ilk bölümü
    • Son bölüm
    Sezon derin bağlantısı (O1-O5)
    • Kullanıcının o sezonda en son izlediği bölüm veya o sezonda herhangi bir bölüm izlemediyse sezonun ilk bölümü.
    • Sezonun ilk bölümü
    Sezon derin bağlantısı (O6)
    • S6E24 (kullanıcı S6E24'ü tamamlamadıysa)
    • S6E25 (kullanıcı S6E24'ü izlemeyi bitirdiyse)

    Aşağıdakilerden biri:

    • Sezonun ilk bölümü
    • Son bölüm
    Bölüm derin bağlantısı
    • Tıklanan bölüm.
    • Tıklanan bölüm.

Dinleme İşlemleri oynatma davranışı

Dinleme işlemleri için aşağıdaki oynatma davranışının karşılanması gerekir:

  • Kullanıcı uygulamanıza veya hizmetinize yönlendirildikten sonra içerik tek tıklamayla oynatılmalıdır.
  • Uygulamanız veya platformunuzda oturum açılması gerekiyorsa içerik, oturum açıldıktan sonra hemen ya da tek bir tıklamayla oynatılmalıdır.
  • Uygulamanız veya platformunuz, tüm kullanıcıların aynı şarkıyı, albümü, sanatçıyı ya da oynatma listesini çalabilmesi için en az bir yöntem sunmalıdır.
    • Tam içeriği oynama hakkı olmayan kullanıcılar (ör. gerekli aboneliğe sahip olmayanlar) için hizmetiniz, uygulamanıza veya platformunuza geldiklerinde tam içeriği oynama hakkı kazanmak için ne yapmaları gerektiğini açıklamalıdır.

Uygulamanız veya platformunuz için aşağıdaki en iyi uygulamaları öneririz:

  • MusicGroup için, kullanıcı sanatçıyı her seçtiğinde sanatçıya ait farklı içerikler oynatın.
  • MusicAlbum için içerikleri albümde görünme sırasına göre oynatın.
  • MusicPlaylist için, kullanıcı oynatma listesini her seçtiğinde oynatma listesinden farklı içerikler oynatın.

Aşağıdakileri yapın:

  1. Her içerik için platformlara göre farklı derin bağlantılar olup olmadığını kontrol edin.
  2. Her derin bağlantı için giriş noktasıyla (derin bağlantının sizi uygulamanızdaki veya platformunuzdaki yönlendirdiği sayfa) ilgili aşağıdaki soruları sorun:
    • Giriş noktası (içerik değil) birden fazla dili destekliyor mu?
    • Giriş noktası birden fazla altyazı dilini destekliyor mu?
    • Giriş noktası birden fazla kamera açısını destekliyor mu?
    • Giriş noktası birden fazla video biçimini destekliyor mu?

Bu sorulardan herhangi birine "evet" yanıtını verdiyseniz söz konusu derin bağlantı için additionalProperty özelliğini sağlamanız gerekir. additionalProperty örneğine bakın.