Cómo agregar programas al canal "Ver a continuación"

El canal "Ver a continuación" es la segunda fila que se muestra en la pantalla principal, después de la fila de apps. El sistema crea y mantiene este canal. Tu app puede agregar programas al canal "Ver a continuación", por ejemplo, aquellos que el usuario marcó como interesantes, los que dejó por la mitad o los relacionados con el contenido que está mirando (como el siguiente episodio de una serie o la próxima temporada de un programa).

El canal "Ver a continuación" tiene algunas restricciones: tu app no puede mover, quitar ni ocultar la fila de este canal.

Pasos

Insertar programas en el canal "Ver a continuación" es similar a insertar programas en tu propio canal. Consulta las siguientes secciones para obtener detalles específicos sobre ese canal.

Cuando insertes contenido en el canal, deberás seguir estos lineamientos:

Selecciona un tipo de programa

Existen cuatro tipos de programas en el canal "Ver a continuación". Selecciona el tipo adecuado:

TipoNotas
WATCH_NEXT_TYPE_CONTINUEEl usuario detuvo la reproducción mientras miraba el contenido.
WATCH_NEXT_TYPE_NEXTEstá disponible el siguiente programa de una serie que el usuario está mirando. Por ejemplo, si el usuario está mirando el episodio 3 de una serie, la app puede sugerirle que mire a continuación el episodio 4.
WATCH_NEXT_TYPE_NEWContenido nuevo disponible directamente relacionado con lo que el usuario está mirando. Por ejemplo, el usuario está mirando el episodio número 5 de una serie y el episodio 6 pasa a estar disponible.
WATCH_NEXT_TYPE_WATCHLISTLo inserta el sistema o la app cuando el usuario guarda un programa.

Para obtener más información, consulta Atributos de "Ver a continuación".

Usa el compilador WatchNextProgram

Usa un objeto WatchNextProgram.Builder. Para obtener más información, consulta Atributos de "Ver a continuación".

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

Usa TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId) a fin de crear el elemento Uri que necesitas para actualizar un programa de "Ver a continuación".

Cuando el usuario agrega un programa al canal "Ver a continuación", el sistema lo copia en la fila. Envía el intent TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT para notificar a la app que se agregó el programa. El intent incluye dos elementos adicionales: el ID de programa que se copió y el ID de programa que se creó para el canal "Ver a continuación".