사용자가 콘텐츠에서 미디어 작업을 시작하면 (예: 사용자가 Google 검색에서 아이콘을 클릭) Google은 콘텐츠의 딥 링크를 사용하여 사용자를 앱 또는 플랫폼의 콘텐츠로 바로 이동시킵니다.
딥 링크
딥 링크의 요구사항은 다음과 같습니다.
urlTemplate(타겟 객체)에는 딥 링크가 필요합니다.- 딥 링크는 지정된 모든 플랫폼에서 타겟팅하는 콘텐츠를 열어야 합니다.
- 딥 링크에는 매개변수 (&) 또는 앵커 태그 (#)가 포함될 수 있습니다.
- 자동재생이 기본적으로 활성화되지 않은 경우
&autoplay=true와 같은 매개변수를 딥 링크에 추가하여 앱 또는 플랫폼에서 자동재생을 활성화하는 것이 좋습니다.
- 자동재생이 기본적으로 활성화되지 않은 경우
@id, url, urlTemplate의 예:
{
"@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",
...
},
...
},
...
}
딥 링크를 사용하여 재생 시작
다음 의사 코드는 사용자가 재생을 시작할 때 원하는 동작을 나타냅니다.
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원하는 재생 동작을 구현하려면 다음 플랫폼별 요구사항을 준수하세요.
- iOS
- 범용 링크를 사용해야 합니다.
- Android 및 Android TV
- Android App Links 또는 맞춤 스키마 링크를 사용할 수 있습니다.
Android 및 Android TV용 맞춤 스키마 링크
Android 및 Android TV에서는 맞춤 스키마 링크를 사용할 수도 있습니다. 앱의 package_id가 맞춤 스키마 URI에 포함되어야 합니다. 이렇게 하면 앱이 설치되어 있지 않은 경우 사용자가 Play 스토어의 앱 페이지로 이동합니다.
따라서 다음 URI 형식만 미디어 작업에 허용되는 맞춤 스키마 형식입니다.
android-app://{package_id}/{scheme}/{path}-
예를 들면 다음과 같습니다.
android-app://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4자세한 내용은 전체 사양을 참고하세요.
intent://{package_id}/{scheme}/{path}-
예를 들면 다음과 같습니다.
intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
다음 예와 같은 다른 URI 형식은 미디어 작업에 허용되는 맞춤 스키마 링크가 아닙니다.
scheme://{path}-
예를 들면 다음과 같습니다.
mynetwork://play?series=20114&title=21141&media=e90c89fa4
권장사항
앱이 설치되어 있지 않고 웹 플레이어가 없는 경우 사용자를 Android 또는 App Store로 자동 리디렉션하여 앱을 설치하도록 웹 서버를 구성합니다. 리디렉션하려면 Firebase 동적 링크 또는 서드 파티 스마트 링크 플랫폼을 사용하세요.
앱이 설치되어 있지 않고 웹 플레이어가 있는 경우 사용자가 앱을 설치할 수 있도록 Android 또는 App Store 링크나 스마트 배너를 제공하세요. 다음은 구현된 스마트 배너의 예입니다.

딥 링크 요구사항 및 제한사항 요약
다음 표에는 iOS, Android, AndroidTV와 관련된 딥 링크의 요구사항과 제한사항이 나와 있습니다.
| iOS | Android 및 AndroidTV | |
|---|---|---|
| http:// 또는 https:// | 필수 | 모바일 웹사이트에서 재생을 지원하는 경우 권장됩니다. |
| android-app:// 또는 intent:// | 해당 사항 없음 | 모바일 웹사이트에서 재생을 지원하지 않는 경우 권장됩니다. |
| foo:// (임의 문자열) | 허용되지 않음 | 허용되지 않음 |
플랫폼 유형
미디어 작업을 지원하는 여러 Google 표시 경로에서 콘텐츠를 사용할 수 있도록 하려면 다음 요구사항을 준수하세요.
- 파트너가 지원하는 모든 플랫폼에는 콘텐츠의 딥 링크가 필요합니다.
- Chromecast 플랫폼의 경우 최신 Cast Application Framework (CAF) Receiver SDK를 사용하여 리시버를 빌드해야 합니다.
- 모바일 플랫폼 (Android 및 iOS)의 경우 딥 링크를 사용하여 재생 시작 섹션의 요구사항을 참고하세요.
다음 표에는 미디어 작업을 지원하는 플랫폼 목록이 나와 있습니다.
| 플랫폼 | 설명 |
|---|---|
http://schema.org/DesktopWebPlatform
|
데스크톱 웹브라우저에서 검색 플랫폼 |
http://schema.org/MobileWebPlatform
|
모바일 웹브라우저의 검색 플랫폼 |
http://schema.org/AndroidPlatform
|
Android 앱에서 검색 및 PlayGuide 플랫폼 |
http://schema.org/AndroidTVPlatform
|
Android TV 앱의 Android TV 플랫폼 |
http://schema.org/IOSPlatform
|
iOS 앱에서 플랫폼을 검색합니다. |
http://schema.googleapis.com/GoogleVideoCast
|
Chromecast 기기의 Cast 및 Home 플랫폼 |
http://schema.googleapis.com/GoogleAudioCast
|
청취 작업만 Chromecast 기기의 Cast 및 Home 플랫폼 |
서로 다른 딥 링크가 두 개 있는 항목의 예:
"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" ]
}
],
}
],
...
}
재생 동작
대부분의 콘텐츠의 경우 Google에서 사용자를 앱이나 플랫폼으로 안내할 때 선택한 콘텐츠를 자동 재생해야 합니다. 이를 통해 사용자는 콘텐츠를 빠르게 시청하거나 감상할 수 있습니다.
시청 작업 재생 동작
보기 작업의 경우 다음 재생 동작이 필요합니다.
모든 딥 링크: 영화, TVEpisode, TVSeries, TVSeason
로그인 또는 구매 동작: 서비스에 로그인 또는 구매가 필요한 경우 영화 또는 에피소드가 유형에 따라 적절하게 재생되어야 합니다. 자세한 내용은 아래의 딥 링크 가이드라인을 참고하세요.
재생: 서비스에서 사용자의 상태를 추적하는 경우 영화나 에피소드에서 사용자의 이전 마커부터 재생이 시작되어야 합니다. 그렇지 않으면 콘텐츠의 처음부터 재생이 시작되어야 합니다.
자동재생: 플랫폼에 따라 사용자가 타겟 에피소드나 영화를 선택한 후 서비스에서 콘텐츠를 눈에 띄게 재생해야 합니다.
- 검색: 자동재생은 적극 권장되지만 필수는 아닙니다. 자동 재생이 지원되지 않는 경우 사용자가 앱 또는 서비스로 이동한 후 한 번의 클릭으로 콘텐츠가 재생되어야 합니다.
- Android TV: 영화와 에피소드는 자동 재생이 필요합니다.
TVSeries 및 TVSeason 딥 링크만
타겟 에피소드 선택: 올바른 타겟 에피소드를 선택해야 합니다. 서비스에서 사용자의 상태를 추적하는 경우 타겟 에피소드는 사용자가 마지막으로 시청을 중지한 에피소드여야 합니다. 또는 사용자가 마지막으로 시청한 에피소드를 완전히 마친 경우 타겟 에피소드를 다음 에피소드로 만드세요. 그렇지 않은 경우 타겟 에피소드는 다음 중 하나여야 합니다(재량에 따라).
TVSeries- 시리즈의 첫 번째 에피소드입니다. 연속극에 권장됩니다.
- 최신 시즌의 첫 번째 에피소드입니다. 장기 연재되는 시리즈에 권장됩니다.
- 최신 에피소드 일일 또는 뉴스 관련 프로그램에 권장됩니다.
TVSeason- 시즌의 첫 번째 에피소드입니다. 연속극에 권장됩니다.
- 최신 에피소드 일일 또는 뉴스 관련 프로그램에 권장됩니다.
TVSeries또는TVSeason의 딥 링크는 정적 (변경되지 않음)이어야 하며 타겟 에피소드로 연결되어야 합니다. 특정 에피소드의 딥 링크를 사용하지 마세요.다음 표에서는
TVSeries,TVSeason,TVEpisode항목 유형에 필요한 타겟 에피소드 선택 로직을 보여주는 몇 가지 예를 제공합니다.사용자가 마지막으로 S6E24를 시청한 경우 타겟 에피소드 사용자가 에피소드를 시청하지 않은 경우 타겟 에피소드 시리즈 딥 링크 - S6E24 (사용자가 S6E24를 완료하지 않은 경우)
- S6E25 (사용자가 S6E24 시청을 완료한 경우)
다음 중 하나:
- 시리즈의 첫 번째 에피소드
- 최신 시즌의 첫 번째 에피소드
- 최신 에피소드
시즌 딥 링크 (S1~S5) - 사용자가 해당 시즌에서 마지막으로 시청한 에피소드 또는 사용자가 해당 시즌에서 에피소드를 시청하지 않은 경우 해당 시즌의 첫 번째 에피소드
- 시즌의 첫 번째 에피소드
시즌 딥 링크 (S6) - S6E24 (사용자가 S6E24를 완료하지 않은 경우)
- S6E25 (사용자가 S6E24 시청을 완료한 경우)
다음 중 하나:
- 시즌의 첫 번째 에피소드
- 최신 에피소드
에피소드 딥 링크 - 클릭된 특정 에피소드입니다.
- 클릭된 특정 에피소드입니다.
Listen Actions 재생 동작
듣기 작업의 경우 다음 재생 동작이 필요합니다.
- 사용자가 앱 또는 서비스로 이동한 후 한 번의 클릭으로 콘텐츠가 재생되어야 합니다.
- 앱 또는 플랫폼에 로그인이 필요한 경우 로그인 후 즉시 또는 한 번의 클릭으로 콘텐츠를 재생해야 합니다.
- 앱 또는 플랫폼은 모든 사용자가 정확한 노래, 앨범, 아티스트 또는 재생목록을 재생할 수 있는 방법을 하나 이상 제공해야 합니다.
- 정확한 콘텐츠를 재생할 수 없는 사용자 (예: 필요한 구독이 없는 사용자)의 경우, 서비스는 사용자가 앱이나 플랫폼에 도착했을 때 정확한 콘텐츠를 재생할 수 있게 되려면 어떻게 해야 하는지 설명해야 합니다.
앱 또는 플랫폼에는 다음 권장사항을 따르는 것이 좋습니다.
MusicGroup의 경우 사용자가 아티스트를 선택할 때마다 아티스트의 다른 콘텐츠를 재생합니다.MusicAlbum의 경우 앨범에 표시되는 순서대로 콘텐츠를 재생합니다.MusicPlaylist의 경우 사용자가 재생목록을 선택할 때마다 재생목록에서 다른 콘텐츠를 재생합니다.
딥 링크 식별
다음 단계를 따르세요.
- 각 콘텐츠에 플랫폼에 따라 다른 딥 링크가 있는지 확인합니다.
- 각 딥 링크에 대해 진입점 (딥 링크로 이동하는 앱 또는 플랫폼의 페이지)에 관해 다음 질문을 합니다.
- 진입점 (콘텐츠 아님)이 여러 언어를 지원하나요?
- 진입점에서 여러 자막 언어를 지원하나요?
- 진입점에서 여러 카메라 각도를 지원하나요?
- 진입점에서 여러 동영상 형식을 지원하나요?
이러한 질문 중 하나라도 '예'라고 답했다면 해당 딥 링크에 additionalProperty 속성을 제공해야 합니다. additionalProperty 예시를 참고하세요.