사용자가 콘텐츠에서 미디어 작업을 시작하면 (예: 사용자가 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의 여러 플랫폼 (검색, 어시스턴트, Android TV, Chromecast)에서 콘텐츠를 사용할 수 있도록 하려면 다음 요구사항을 준수하세요.
- 모든 파트너 지원 플랫폼에는 콘텐츠의 딥 링크가 필요합니다.
- Chromecast 플랫폼의 경우 최신 Cast 애플리케이션 프레임워크 (CAF) 수신기 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 기기의 전송 및 Home 플랫폼 |
http://schema.googleapis.com/GoogleAudioCast
|
청취 작업만 Chromecast 기기의 전송 및 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 작업에는 다음과 같은 재생 동작이 필요합니다.
- 사용자가 앱 또는 서비스로 이동한 후 클릭 한 번으로 콘텐츠가 재생되어야 합니다.
- 앱 또는 플랫폼에 로그인이 필요한 경우 로그인 후 즉시 또는 클릭 한 번으로 콘텐츠를 재생해야 합니다.
- 앱 또는 플랫폼은 모든 사용자가 정확한 노래, 앨범, 아티스트 또는 재생목록을 재생할 수 있는 방법을 하나 이상 제공해야 합니다.
- 정확한 콘텐츠를 재생할 자격이 없는 사용자 (예: 필요한 정기 결제가 없는 사용자)의 경우 서비스는 사용자가 앱 또는 플랫폼에 도착했을 때 정확한 콘텐츠를 재생할 자격을 얻으려면 무엇을 해야 하는지 설명해야 합니다.
앱 또는 플랫폼에는 다음 권장사항을 따르는 것이 좋습니다.
MusicGroup
의 경우 사용자가 아티스트를 선택할 때마다 아티스트의 다른 콘텐츠를 재생합니다.MusicAlbum
의 경우 앨범에 표시되는 순서대로 콘텐츠를 재생합니다.MusicPlaylist
의 경우 사용자가 재생목록을 선택할 때마다 재생목록에서 다른 콘텐츠를 재생합니다.
딥 링크 식별
다음 단계를 따르세요.
- 각 콘텐츠에 플랫폼에 따라 다른 딥 링크가 있는지 확인합니다.
- 각 딥 링크의 진입점 (딥 링크가 연결되는 앱 또는 플랫폼의 페이지)에 대해 다음 질문을 하세요.
- 콘텐츠가 아닌 진입점이 여러 언어를 지원하나요?
- 진입점에서 여러 자막 언어를 지원하나요?
- 진입점이 여러 카메라 각도를 지원하나요?
- 진입점이 여러 동영상 형식을 지원하나요?
위 질문에 '예'라고 답한 경우 해당 딥 링크에 additionalProperty
속성을 제공해야 합니다. additionalProperty 예를 참고하세요.