Adicionar programas ao canal "Assistir a seguir"

O canal "Assistir a seguir" é a segunda linha que aparece na tela inicial, depois da linha de apps. O sistema cria e mantém esse canal. O app pode adicionar programas ao canal "Assistir a seguir": programas que o usuário marcou como interessantes, deixou de assistir no meio ou que estão relacionados ao conteúdo que o usuário está assistindo, como o próximo episódio de uma série ou a próxima temporada de um programa.

O canal "Assistir a seguir" tem algumas restrições: seu app não pode mover, remover ou ocultar a linha do canal.

Etapas

A inserção de programas no canal "Assistir a seguir" é semelhante à inserção de programas no seu próprio canal. Consulte as seções a seguir para detalhes específicos sobre o recurso "Assistir a seguir".

Ao inserir conteúdo no canal "Assistir a seguir", siga estas diretrizes:

Selecionar um tipo de programa

Há quatro tipos de programas "Assistir a seguir". Selecione o tipo apropriado:

Tipo Notas
WATCH_NEXT_TYPE_CONTINUE O usuário parou enquanto assistia ao conteúdo.
WATCH_NEXT_TYPE_NEXT O próximo programa disponível em uma série que o usuário está assistindo. Por exemplo, se o usuário assistir ao episódio 3 de uma série, o app poderá sugerir que ele assista ao episódio 4 em seguida.
WATCH_NEXT_TYPE_NEW Novos conteúdos que seguem claramente o que o usuário está assistindo já estão disponíveis. Por exemplo, o usuário está assistindo o episódio 5 de uma série, e o episódio 6 fica disponível.
WATCH_NEXT_TYPE_WATCHLIST Inserido pelo sistema ou pelo app quando o usuário salva um programa.

Para mais informações, consulte Atributos do "Assistir a seguir".

Usar o builder WatchNextProgram

Use um WatchNextProgram.Builder. Para mais informações, consulte Atributos de Assistir a seguir.

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());

Use TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId) para criar o Uri necessário para atualizar um programa "Assistir a seguir".

Quando o usuário adiciona um programa ao canal "Assistir a seguir", o sistema copia o programa para a linha. Ele envia a intent TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT para notificar o app de que o programa foi adicionado. A intent inclui dois extras: o ID do programa que foi copiado e o ID do programa criado para o canal Assistir depois.