ユーザーがコンテンツのメディア アクションをクリックすると(たとえば、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 アプリリンクまたはカスタム スキーム リンクを使用できます。
Android と Android TV のカスタム スキームのリンク
Android と Android TV では、カスタム スキーム リンクを使用することもできます。アプリの package_id
をカスタム スキーム URI に含める必要があります。これにより、アプリがインストールされていない場合は、ユーザーが Google 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 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 デバイスのキャストおよびホーム プラットフォーム。 |
http://schema.googleapis.com/GoogleAudioCast
|
リッスン アクション専用。Chromecast デバイスのキャストおよびホーム プラットフォーム。 |
2 つの異なるディープリンクを持つエンティティの例:
"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" ]
}
],
}
],
...
}
再生動作
ほとんどのコンテンツについて、ユーザーをアプリまたはプラットフォームに誘導した後、選択されたコンテンツを自動再生する必要があります。そうすることで、ユーザーはすぐにコンテンツを視聴できます。
ウォッチ アクションの再生動作
ウォッチ アクションでは、次の再生動作が必要です。
すべてのディープリンク: 映画、TVEpisode、TVSeries、TVSeason
ログインまたは購入の動作: サービスでログインまたは購入が必要な場合は、映画またはエピソードがその種類に応じて再生される必要があります。詳しくは、後述のディープリンク ガイドラインをご覧ください。
再生: サービスがユーザーの状態を追跡している場合は、映画またはエピソードに対して前回設定されたユーザーのマーカーから再生を開始する必要があります。それ以外の場合は、コンテンツの最初から再生する必要があります。
自動再生: プラットフォームによっては、ユーザーが対象のエピソードまたは映画を選択した後に、サービスでコンテンツを目立つように再生することが求められます。
- 検索: 自動再生は強く推奨されますが、必須ではありません。自動再生がサポートされていない場合は、ユーザーがアプリまたはサービスに移動した後、1 回のクリックでコンテンツを再生する必要があります。
- Android TV: 映画とエピソードには自動再生が必要です。
TVSeries と TVSeason のディープリンクのみ
ターゲット エピソードの選択: 適切なターゲット エピソードを選択する必要があります。サービスがユーザーの状態を追跡している場合、対象エピソードはユーザーが最後に視聴を中断したエピソードである必要があります。ユーザーが最後に視聴したエピソードを完全に視聴し終えた場合は、代わりに次のエピソードをターゲット エピソードにします。それ以外の場合は、任意で次のいずれかのエピソードをターゲットにする必要があります。
TVSeries
- シリーズの最初のエピソード。連続ドラマに推奨されます。
- 最新シーズンの最初のエピソード。長尺の連続ドラマにおすすめです。
- 最新エピソード。毎日の番組やニュース関連の番組におすすめです。
TVSeason
- シーズンの最初のエピソード。連続ドラマに推奨されます。
- 最新エピソード。毎日の番組やニュース関連の番組におすすめです。
TVSeries
またはTVSeason
のディープリンクは静的リンク(変更されない固定的なリンク)とし、ターゲット エピソードに誘導する必要があります。特定のエピソードに対応するディープリンクを使用しないでください。次の表に、
TVSeries
、TVSeason
、TVEpisode
エンティティ タイプに必要なターゲット エピソード選択ロジックを示す例を示します。ユーザーが最後に視聴したエピソードが S6E24 の場合のターゲット エピソード ユーザーがエピソードを視聴していない場合のターゲット エピソード シリーズのディープリンク - S6E24(ユーザーが S6E24 を視聴し終えていない場合)
- S6E25(ユーザーが S6E24 の視聴を終了している場合)
次のいずれかになります。
- シリーズの最初のエピソード
- 最新シーズンの最初のエピソード
- 最新のエピソード
シーズンのディープリンク(シーズン 1 ~ 5) - ユーザーがそのシーズンで最後に視聴したエピソード、またはそのシーズンで視聴していない場合はそのシーズンの最初のエピソード。
- シーズンの最初のエピソード
シーズンのディープリンク(S6) - S6E24(ユーザーが S6E24 を視聴し終えていない場合)
- S6E25(ユーザーが S6E24 の視聴を終了している場合)
次のいずれかになります。
- シーズンの最初のエピソード
- 最新のエピソード
エピソードのディープリンク - クリックされた特定のエピソード。
- クリックされた特定のエピソード。
リッスン アクションの再生動作
リッスン アクションでは、次の再生動作が必要です。
- ユーザーがアプリまたはサービスに移動した後、1 回のクリックでコンテンツを再生する必要があります。
- アプリまたはプラットフォームへのログインが必要な場合は、ログインの直後または 1 回のクリック以内にコンテンツを再生する必要があります。
- アプリまたはプラットフォームには、すべてのユーザーが特定の曲、アルバム、アーティスト、プレイリストを再生できる方法が少なくとも 1 つ必要です。
- 特定のコンテンツを再生する資格がないユーザー(必要な定期購入をしていないなど)に対しては、アプリまたはプラットフォームにアクセスしたときに、その特定のコンテンツを再生するための資格を得るためにユーザーが行う必要があることをサービスで説明する必要があります。
アプリまたはプラットフォームにおすすめのベスト プラクティスは次のとおりです。
MusicGroup
では、ユーザーがある特定のアーティストを選択するたびにそのアーティストの異なるコンテンツを再生します。MusicAlbum
では、アルバムの収録順にコンテンツを再生します。MusicPlaylist
では、ユーザーがある特定のプレイリストを選択するたびにそのプレイリストの異なるコンテンツを再生します。
ディープリンクを識別する
次のようにします。
- コンテンツごとに、そのディープリンクがプラットフォームによって異なるかどうかを確認します。
- ディープリンクごとに、そのエントリ ポイント(ディープリンクの誘導先となるアプリまたはプラットフォーム上のページ)について次のことを確認します。
- エントリ ポイント(コンテンツではない)は複数の言語をサポートしているか?
- エントリ ポイントは複数の字幕言語をサポートしているか?
- エントリ ポイントは複数のカメラアングルをサポートしているか?
- エントリ ポイントは複数の動画形式をサポートしているか?
これらのいずれかに対する答えが「はい」の場合は、そのディープリンクの additionalProperty
プロパティを指定する必要があります。additionalProperty の例をご覧ください。