Bir kullanıcı içerikte Medya İşlemleri'ni başlattığında (ör. kullanıcı Google Arama'daki 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ı
Derin bağlantılarla ilgili şartlar aşağıda verilmiştir:
urlTemplate
(hedef nesnenin) derin bağlantı gerektirir.- Derin bağlantıların, hedefledikleri içeriği belirtilen tüm platformlarda açması gerekir.
- Derin bağlantılar parametreler (&) veya ana sayfa etiketleri (#) içerebilir.
- Otomatik oynatma varsayılan olarak etkinleştirilmemişse uygulamanızda veya platformunuzda otomatik oynatma özelliğini etkinleştirmek için derin bağlantıya
&autoplay=true
gibi bir parametre eklemenizi öneririz.
- Otomatik oynatma varsayılan olarak etkinleştirilmemişse uygulamanızda veya platformunuzda otomatik oynatma özelliğini etkinleştirmek için derin bağlantıya
@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",
...
},
...
},
...
}
Oynatma işlemini başlatmak için derin bağlantıları kullanma
Aşağıdaki sözde kod, kullanıcı oynatmayı başlattığında istenen davranışı temsil eder:
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
İstediğiniz oynatma davranışını elde etmek için platforma özgü aşağıdaki şartlara 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 için özel şema bağlantıları
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 sayede, uygulamanız yüklü değilse kullanıcı Play Store'daki uygulamanızın sayfasına yönlendirilir.
Bu nedenle, medya işlemleri için kabul edilen tek özel şema biçimleri aşağıdaki URI 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 göz atın.
intent://{package_id}/{scheme}/{path}
-
Örneğin:
intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
Aşağıdaki örnekte gösterildiği gibi, medya işlemleri için özel şema bağlantıları olarak kabul edilmeyen diğer URI biçimleri:
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üklemesi 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 yüklü değilse ve web oynatıcınız varsa kullanıcıların uygulamanızı yüklemesi için Android veya App Store'a bağlantı ya da akıllı banner ekleyin. Aşağıda, uygulanmış bir akıllı banner örneği verilmiştir:
Derin bağlantı şartlarının ve sınırlamalarının özeti
Aşağıdaki tabloda, iOS, Android ve AndroidTV ile ilgili olarak derin bağlantılarla ilgili koşullar ve sınırlamalar gösterilmektedir:
iOS | Android ve AndroidTV | |
---|---|---|
http:// veya https:// | Zorunlu | Mobil web sitesi oynatma özelliğini destekliyorsa önerilir. |
android-app:// veya intent:// | Yok | Mobil web sitesi oynatmayı desteklemiyorsa önerilir. |
foo:// (isteğe bağlı dize) | İzin verilmiyor | İzin verilmiyor |
Platform türleri
İçeriğinizin Google'ın birden fazla platformunda (Arama, Asistan, Android TV ve Chromecast) kullanılabilmesi için aşağıdaki şartlara uyun:
- İş ortağı tarafından desteklenen tüm platformlar, içeriğiniz için derin bağlantı gerektirir.
- Chromecast platformları için en son Cast Application Framework (CAF) Receiver SDK'sını kullanarak bir alıcı oluşturmanız gerekir.
- Mobil platformlar (Android ve iOS) için Oynatma işlemini başlatmak üzere derin bağlantılar kullanma bölümündeki şartlara bakın.
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ını bulun. |
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 cihazdaki Cast ve Home platformları. |
http://schema.googleapis.com/GoogleAudioCast
|
Yalnızca Dinleme İşlemleri. Chromecast cihazdaki Cast ve Home platformları. |
İki farklı derin bağlantıya sahip 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çili içeriği otomatik olarak oynatmanız gerekir. Bu sayede kullanıcılar içeriği hızlıca izlemeye veya dinlemeye başlayabilir.
İzleme işlemleri oynatma davranışı
İzleme işlemleri için aşağıdaki oynatma davranışı gerekir.
Tüm derin bağlantılar: Movie, TVEpisode, TVSeries ve TVSeason
Oturum açma veya satın alma davranışı: Hizmetiniz için oturum açma veya satın alma işlemi gerekiyorsa film veya bölüm, türüne uygun şekilde oynatılmalıdır. Daha fazla bilgi için aşağıdaki derin bağlantı yönergelerine bakın.
Oynatma: Hizmetiniz bir kullanıcının durumunu izliyorsa oynatma, kullanıcının film veya bölümdeki önceki işaretçisinden başlatılmalıdır. Aksi takdirde oynatma, içeriğin başından başlar.
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 özelliğinin kullanılması önerilir ancak zorunlu değildir. Otomatik oynatma desteklenmiyorsa kullanıcı uygulamanıza veya hizmetinize yönlendirildikten sonra içerik bir tıklamayla oynatılmalıdır.
- Android TV: Film ve bölüm için otomatik oynatma gerekir.
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 izlemeyi en son bıraktığı bölüm olmalıdır. Alternatif olarak, kullanıcı son izlediği bölümü tamamen izlediyse hedef bölümü sonraki bölüm yapın. Aksi takdirde, hedef bölüm sizin takdirinize bağlı olarak aşağıdakilerden biri olmalıdır:
TVSeries
- Serinin ilk bölümü. Seri halinde yayınlanan programlar için önerilir.
- En son sezonun ilk bölümü. Uzun süreli seri programlar için önerilir.
- Son bölüm. Günlük veya haberlerle ilgili programlar için önerilir.
TVSeason
- Sezonun ilk bölümü. Seri halinde yayınlanan programlar için önerilir.
- Son bölüm. Günlük veya haberlerle ilgili programlar için önerilir.
TVSeries
veyaTVSeason
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ıyı kullanmayın.Aşağıdaki tabloda,
TVSeries
,TVSeason
veTVEpisode
öğe türleri için gerekli hedef bölüm seçim mantığını gösteren çeşitli örnekler verilmiştir:Kullanıcı en son 6. Sezon 24. Bölümü izlediyse hedef bölüm Kullanıcı hiçbir bölüm izlemediyse bölümü hedefleme Seri derin bağlantısı - S6E24 (kullanıcı S6E24'ü bitirmediyse)
- S6E25 (kullanıcı S6E24'ü izlemeyi bitirdiyse)
Şunlardan biri:
- Serinin ilk bölümü
- En son sezonun ilk bölümü
- Son bölüm
Sezon derin bağlantısı (S1-S5) - Kullanıcının ilgili sezonda son izlediği bölüm veya kullanıcı ilgili sezonda hiç bölüm izlemediyse sezonun ilk bölümü.
- Sezonun ilk bölümü
Sezon derin bağlantısı (S6) - S6E24 (kullanıcı S6E24'ü bitirmediyse)
- S6E25 (kullanıcı S6E24'ü izlemeyi bitirdiyse)
Şunlardan 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 işlemleri oynatma davranışı
Dinleme işlemleri için aşağıdaki oynatma davranışı gerekir:
- Kullanıcı uygulamanıza veya hizmetinize yönlendirildikten sonra içerik bir tıklamayla oynatılmalıdır.
- Uygulamanız veya platformunuz için oturum açılması gerekiyorsa içeriğin, oturum açıldıktan hemen sonra veya bir tıklamayla oynatılması gerekir.
- Uygulamanız veya platformunuz, tüm kullanıcıların tam şarkıyı, albümü, sanatçıyı veya şarkı listesini çalmaları için en az bir yöntem sunmalıdır.
- Tam içeriği oynatmaya uygun olmayan kullanıcılar (ör. gerekli abonelikleri yoksa) için hizmetiniz, kullanıcının uygulamanıza veya platformunuza geldiğinde tam içeriği oynatmaya uygun olmak için ne yapması gerektiğini açıklamalıdır.
Uygulamanız veya platformunuz için aşağıdaki en iyi uygulamaları öneririz:
MusicGroup
için, kullanıcı her defasında sanatçıyı seçtiğinde sanatçının farklı bir içeriğini çal.MusicAlbum
için içeriği albümdeki görünme sırasına göre oynatın.MusicPlaylist
için, kullanıcı oynatma listesini her seçtiğinde oynatma listesinden farklı bir içerik oynatın.
Derin bağlantıları tanımlama
Aşağıdakileri yapın:
- Her içerik için platformlara göre farklı derin bağlantılar olup olmadığını kontrol edin.
- Her derin bağlantı için giriş noktası (derin bağlantının sizi uygulamanızdaki veya platformunuzdaki hangi sayfaya yönlendirdiği) hakkında 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 cevabınız evet ise söz konusu derin bağlantı için additionalProperty
mülkünü sağlamanız gerekir. additionalProperty örneğine bakın.