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. Seu app pode adicionar programas ao canal "Assistir a seguir": programas que o usuário marcou como interessantes, parou de assistir no meio ou que estão relacionados ao conteúdo que ele 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 desse canal.

Etapas

Inserir programas no canal "Assistir a seguir" é o mesmo que inserir programas no seu próprio canal. Consulte as seções a seguir para ver detalhes específicos sobre o "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:

TipoNotas
WATCH_NEXT_TYPE_CONTINUEO usuário parou enquanto assistia ao conteúdo.
WATCH_NEXT_TYPE_NEXTO próximo programa em uma série que o usuário está assistindo está disponível. 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_NEWNovos conteúdos que seguem claramente o que o usuário está assistindo já estão disponíveis. Por exemplo, o usuário está assistindo ao episódio número 5 de uma série, e o episódio 6 é disponibilizado para exibição.
WATCH_NEXT_TYPE_WATCHLISTInserido 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 do "Assistir a seguir".

Kotlin

    val builder = WatchNextProgram.Builder()
    builder.setType(TvContractCompat.WatchNextPrograms.TYPE_CLIP)
            .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_CLIP)
            .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 de que você precisa para atualizar um programa do "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 o intent TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT para notificar o app que o programa foi adicionado. O intent inclui dois extras: o ID do programa que foi copiado e o ID do programa criado para o programa no canal "Assistir a seguir".