送信者アプリ

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

コンテンツをウェブ レシーバーにキャストする場合、ユーザーはいつでも送信側のアプリからコントロールできる必要があります。

: Google Cast SDK に関する追加のデベロッパー利用規約に基づき、キャスト メディア アプリは、SDK で定義された Play Control API(Media Playback Messages)を使用してウェブレシーバーでメディアの再生を制御する必要があります。

送信側アプリは、次の領域でキャスト コントロールを提供する必要があります。

送信者アプリのキャスト再生ステータスとそれらの領域のコントロールは、送信側アプリがない場合でも、Web レシーバーで発生する再生変更と同期する必要があります。これにより、マルチ送信者コマンドと、デバイスのリモコンやボタンなどからの再生コントロールの両方を適切に処理できます。

Android

キャスト ダイアログ コントロール

ミニ コントローラ

通知管理

画面制御のロック

iOS

キャスト ダイアログ コントロール

ミニ コントローラ

Google Chrome

キャスト ダイアログ コントロール

ミニ コントローラ

 

送信者の音量調整

送信側アプリは、送信側のデバイスのハードウェア音量ボタンやソフトウェアの音量スライダーを使用して、テレビやスピーカーで再生しているコンテンツの音量をユーザーが制御できるようにする必要があります。これらは、次のいずれかを制御します。

  • Chromecast などの Google Cast デバイス用にテレビに送信される音声レベル。
  • Google Cast TV、Android TV 搭載テレビ、スマート スピーカーの実際のネイティブ TV/スピーカーの音量。

必須
A 送信者アプリは、送信側のデバイスのハードウェア音量ボタンやソフトウェアの音量スライダーを使用して、テレビやスピーカーで再生しているコンテンツの音量をユーザーが制御できるようにする必要があります。

  • Android: ハードウェア ボタンとソフトウェアの音量スライダーの両方のサポートが必要です。
  • iOS: ソフトウェアの音量スライダーは必須です。
  • ウェブ/Chrome: ソフトウェアの音量スライダーのサポートが必須です。

B モバイル デバイスでは、キャスト処理中にソフトウェアの音量スライダーをキャスト ダイアログで表示する必要があります。
C 送信側のアプリの音量スライダーは、ウェブ受信機に接続してから現在のウェブ受信機の音量と同期し、同期している必要があります。
D 送信元アプリの音量スライダーには、他の送信側または Chromecast アプリのリモコンで行われた音量の変更が反映されるようにする必要があります。
E 送信アプリは、ユーザーが開始した音量の変更のみを渡す必要がある事前定義されたレベルに音量を設定しないでください。
F Android のみ: ハードウェア ボタンを使用してウェブレシーバーの音量レベルを変更すると、ハードウェアの音量ボタンを押すと、ビジュアル ボリューム スライダー(左にキャスト アイコン)が表示されます。注: Android Gingerbread(バージョン 2.3)の場合、キャスト アイコンは表示されません。

運用のヒント

  • 音量の増分:
    • Android: フレームワークは自動的に音量を増分します。
    • iOS と Chrome: ハードウェアの音量ボタンには、ウェブレシーバー デバイスの最大音量範囲の 5% 以下の増分を、オーディオ/ビデオ デバイスの場合は全音量範囲の増分を使用し、オーディオのみのデバイスのウェブ レシーバー デバイスの全音量範囲の増分は 2% 単位で設定します。

送信者の拡張コントローラ

送信者アプリは、キャストするコンテンツ用に拡張コントローラを提供する必要があります。

必須
A コンテンツのタイトルまたはアートワークを表示して、キャスト中のコンテンツを特定します。
B 再生を開始する前に、読み込みインジケーターとコンテンツのタイトルやアートワークを表示します。
C コンテンツが開始したら、Web Receiver の状態を特定します。
D 適切な管理機能を提供します。
E シークバーの左端に、現在の再生時間を表示します。
右端に、把握できるストリームの合計時間が表示されます。ライブ ストリームでない場合は、それを表示します。
F キャストに関連しないコントロールを非表示にします。
G ユーザーが拡張されたコントローラから移動しても、キャストを切断または停止しないでください。
H ユーザーが離れたときは、展開されたコントローラに簡単に戻る方法を提供します。

運用のヒント

  • メディア ストリームの再生位置スライダーを提供します。
  • その他の意味のあるコンテンツ関連の作品やメタデータを表示する。
  • メディア ストリームの経過時間とコンテンツの長さを特定します。

Android

送信者のコンテンツを読み込んでいます

レシーバー コンテンツを読み込んでいます

送信者のコンテンツの再生

ウェブレシーバーがコンテンツを再生

iOS

送信者のコンテンツを読み込んでいます

Web Receiver コンテンツの読み込み

送信者のコンテンツの再生

ウェブレシーバーがコンテンツを再生

Google Chrome

送信者のコンテンツを読み込んでいます

Web Receiver コンテンツの読み込み

送信者のコンテンツの再生

ウェブレシーバーがコンテンツを再生

 

送信者のミニ コントローラ

キャスト中にミニ コントローラと呼ばれる小さな永続的なコントロールが表示されます。このコントロールは、ユーザーが現在のコンテンツ ページや展開されたコントローラから送信者アプリ内の別のビューに移動したときに表示されます。ミニ コントローラは現在のキャストを一目で確認でき、すぐにアクセスできます。

必須
A
C アプリのすべての画面で利用できます(展開されたコントローラ ページを除く)。
D コンテンツ領域をタップすると、展開されたコントローラが開きます。
E 即時対応に関連するその他の管理機能を用意します。

ベスト プラクティス
最適なユーザー エクスペリエンスを実現するには、ミニ コントローラに加えて、キャスト ダイアログでコントロールを指定します。

Android

送信者のミニ コントローラ

ウェブレシーバーのコンテンツを一時停止しました

iOS

送信者のミニ コントローラ

ウェブレシーバーのコンテンツを一時停止しました

Google Chrome

送信者のミニ コントローラ

ウェブレシーバーのコンテンツを一時停止しました

 

送信者の通知

必須(Android のみ)
A ステータスバーの通知には、キャスト アイコンではなく、アプリアイコンを使用します。
B キャストされているコンテンツを識別する。たとえば、コンテンツのタイトルやアートワークを表示します。
C キャスト元のウェブ レシーバーを特定する。
D 基本的なコンテンツ コントロールを提供します。
E 「X」と入力して、キャストを停止し、アクションの行でウェブレシーバーから切断します。
F アプリのロゴ、コンテンツのタイトル、アートワークをタップすると、送信者アプリの展開されたコントローラが開きます。

  • Android のみ: iOS または Chrome では通知を実装できません。
  • Android Gingerbread(バージョン 2.3)では、通知にはアプリのアイコンとテキストのみが表示され、再生、一時停止、停止は行われません。
  • 詳しくは、通知にメディア コントロールを追加するをご覧ください。

Android

送信者の通知アイコン

ウェブレシーバーがコンテンツを再生

送信者の通知の管理

ウェブレシーバーがコンテンツを再生

 

送信者のロック画面

必須(Android のみ)
A コンテンツのタイトルまたはアートワークを使用して、キャスト コンテンツを識別します。
B キャスト先のウェブ レシーバーを特定する。なお、音楽アプリの場合は不要です。
C 再生コントロールを提供します。
D ハードウェア ボタンを使用して音量コントロールにアクセスできるようにします。

Android 4.4(Kit Kat)以降のバージョンで必須:

  • アプリのアイコン
  • アートワーク(アルバムカバーなど)
  • キャストしているコンテンツをテキストで識別する(「Tear of Steel」など)
  • キャストしているウェブ レシーバーを特定する(例: 「リビングルーム」)

Android 4.3 Jelly Bean の場合は必須:

  • アートワーク(アルバムカバーなど)
  • キャストしているコンテンツをテキストで識別する(「Tear of Steel」など)
  • キャストしているウェブ レシーバーを特定する(例: 「リビングルーム」)

  • Android のみ: iOS または Chrome では通知を実装できません。
  • Android 4.1 以降のバージョンでは、ロック画面コントロールが必要です。
  • Android オペレーティング システムのバージョンごとに異なるコントロールを使用できます。ロック画面はテキスト フィールドのみに対応できます。一般的に、グラフィックとアイコンはテキストよりも直接的にコンテンツを表します。
  • 音量コントロールのハードウェア ボタンが、スマートフォンがロックされているときに送信側のアプリの音量を調節する必要があります。
  • このコントロールでは、フレームワーク コンポーネント MediaSession または MediaSessionCompat(バージョン 4.4 と 4.3 の場合)または Notification(5.0 以降の場合)を使用する必要があります。

Android

送信者のロック画面のコントロール

ウェブレシーバーがコンテンツを再生

 

送信元がキャストを再開する

接続された送信者アプリは、暗黙的な接続の切断(ネットワークの切断、デバイスのスリープ、バッテリーの消耗など)後に接続状態を復元する必要があります。

必須
A 送信者アプリが暗黙的に切断した場合(ユーザーが明示的にキャストを停止または切断しなかった場合)、キャスト コンテンツは Web レシーバーで再生し続けます。アプリまたは接続を再起動すると、送信側アプリは、Web Receiver セッションが最新である限り、Web Receiver への接続を復元する必要があります。
B キャスト アイコンは接続状態に戻ります。
C 送信者が再接続する前にユーザーがキャスト アイコンをタップすると、ウェブレシーバー デバイスのリストが表示されます。ユーザーが現在キャスト中のウェブ レシーバーを選択すると、送信者アプリにミニまたは拡張コントローラが表示されます。


停電などのコンテキスト外の中断により、Web Receiver アプリが接続解除されて実行が停止されることもあります。送信者がキャストを停止するで説明されているように、これは通常のセッション終了として扱われます。

Android

アプリを選択する

ウェブレシーバーがコンテンツを再生

キャストの接続を復元しました

ウェブレシーバーがコンテンツを再生

iOS

アプリを選択する

ウェブレシーバーがコンテンツを再生

キャストの接続を復元しました

ウェブレシーバーがコンテンツを再生

 

送信者がキャストを停止する

テレビにキャストされているコンテンツは、ユーザーが [キャストを停止] を選択するか、送信側が新しいキャストを行うまで、再生が続きます。複数の送信者が同じウェブ レシーバーに接続されている場合、各送信アプリにはキャスト ダイアログに [キャストを停止] ボタンではなく [切断] ボタンが表示されます。

必須
接続された接続元のデバイスのキャスト接続は維持されます。
B 送信側アプリが暗黙的に切断した場合(たとえば、送信側デバイスのバッテリーが切れたり、送信側デバイスがウェブ レシーバーに接続されていたりした場合)、ウェブレシーバーは何も行わず、キャスト コントロールと通知は送信側デバイスから削除されます。送信者アプリは、送信者アプリが再び開かれたときに、暗黙的な接続解除を追跡し、Web Receiver への再接続を試行します。

Android

キャスト ダイアログ、接続解除ボタン

ウェブレシーバーがコンテンツを再生

iOS

キャスト ダイアログ、接続解除ボタン

ウェブレシーバーがコンテンツを再生

Google Chrome

キャスト ダイアログ、接続解除ボタン

ウェブレシーバーがコンテンツを再生

 

 

このデザインガイドで使用されている画像は、著作権またはクリエイティブ・コモンズのライセンスに基づいて共有されている Blender Foundation のの画像です。

  • Elephant''s Dream: (c)copyright 2006、Blender Foundation / オランダの Media Art Institute / www.elephantsdream.org
  • Sintel: (c)copyright Blender Foundation | www.sintel.org
  • ティアーズ オブ スチール:(CC)Blender Foundation | mango.blender.org
  • Big Buck Bunny: (c)copyright 2008、Blender Foundation / www.bigbuckbunny.org