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

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

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

手順

Watch Next チャンネルに番組を挿入する方法は、独自のチャンネルに番組を挿入する方法と似ています。「次のおすすめ」に固有の詳細については、以下のセクションをご覧ください。

コンテンツを Watch Next チャンネルに挿入する際は、次のガイドラインに沿う必要があります。

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

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

タイプ 備考
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 を使用します。詳しくは、次の動画の属性をご覧ください。

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) を使用して、[次のおすすめ] プログラムの更新に必要な Uri を作成します。

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