プログラムを Watch Next チャンネルに追加する

Watch Next チャンネルは、ホーム画面でアプリの行の 2 番目の行に表示されます。このチャンネルはシステムが作成し管理します。アプリでは、ユーザーが興味をもつとマークした番組、視聴を途中でやめた番組、ユーザーが視聴しているコンテンツに関連する番組(シリーズの次のエピソードや次のシーズンなど)の番組を Watch Next チャンネルに追加できます。

Watch Next チャンネルにはいくつかの制約があります。アプリは、Watch Next チャンネルの行を移動、削除、非表示にすることはできません。

手順

Watch Next チャンネルにプログラムを挿入する方法は、独自のチャンネルにプログラムを挿入する方法と似ています。Watch Next に固有の詳細情報については、以下のセクションをご覧ください。

Google TV の Watch Next チャンネルに公開する([続きを見る] と表示されます)には、認定プロセスによる Google の事前承認が必要です。また、サーバーサイドの処理を使用して、属性に基づいて番組を並べ替えます。認定プロセスを開始するには、こちらのリンク先フォームを送信してください。

Watch Next チャンネルにコンテンツを挿入する場合は、以下のガイドラインを遵守する必要があります。

プログラムのタイプを選択する

Watch Next プログラムには 4 つのタイプがあります。適切なタイプを選択してください。

タイプNotes
WATCH_NEXT_TYPE_CONTINUEユーザーがコンテンツの視聴を止めたもの。
WATCH_NEXT_TYPE_NEXTユーザーが視聴しているシリーズのうち、次に視聴可能な番組を利用できる。たとえば、シリーズのエピソード 3 を視聴している場合、その次としてエピソード 4 をおすすめできます。
WATCH_NEXT_TYPE_NEWユーザーが視聴しているコンテンツの続きで、新しく視聴可能になったコンテンツ。たとえば、ユーザーがシリーズのエピソード 5 を視聴していて、エピソード 6 が視聴可能になった場合。
WATCH_NEXT_TYPE_WATCHLISTユーザーがプログラムを保存するときに、システムまたはアプリによって挿入されたもの。

詳細については、Watch Next 属性をご覧ください。

WatchNextProgram ビルダーを使用する

WatchNextProgram.Builder を使用します。詳細については、Watch Next 属性をご覧ください。

Kotlin

val builder = WatchNextProgram.Builder()
builder.setType(TvContractCompat.WatchNextPrograms.TYPE_MOVIE)
        .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE)
        .setLastEngagementTimeUtcMillis(time)
        .setTitle("Title")
        .setDescription("Program description")
        .setPosterArtUri(uri)
        .setIntentUri(uri)
        .setInternalProviderId(appProgramId)

val watchNextProgramUri = context.contentResolver
        .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI,
                builder.build().toContentValues())

Java

WatchNextProgram.Builder builder = new WatchNextProgram.Builder();
builder.setType(TvContractCompat.WatchNextPrograms.TYPE_MOVIE)
        .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE)
        .setLastEngagementTimeUtcMillis(time)
        .setTitle("Title")
        .setDescription("Program description")
        .setPosterArtUri(uri)
        .setIntentUri(uri)
        .setInternalProviderId(appProgramId);

Uri watchNextProgramUri = context.getContentResolver()
        .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, builder.build().toContentValues());

TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId) を使用して、Watch Next プログラムの更新に必要な Uri を作成します。

ユーザーが番組を Watch Next チャンネルに追加すると、その番組が行にコピーされます。インテント TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT を送信して、プログラムが追加されたことをアプリに通知します。このインテントには、コピーされたプログラム ID と、Watch Next チャンネルでそのプログラム用に作成されたプログラム ID の 2 つのエクストラが含まれています。