Ajouter des programmes à la chaîne "Ma sélection"

La chaîne "Ma sélection" est la deuxième ligne qui s'affiche sur l'écran d'accueil, après la ligne des applications. Le système crée et gère cette chaîne. Votre application peut ajouter des programmes à la chaîne "Ma sélection" : des programmes que l'utilisateur a marqués comme intéressants, qu'il a mis en pause ou qui sont liés au contenu qu'il regarde (le prochain épisode ou la prochaine saison d'une série, par exemple).

Le canal "À suivre" est soumis à certaines contraintes : votre application ne peut pas déplacer, supprimer ni masquer la ligne du canal "À suivre".

Étapes

L'insertion de programmes dans la chaîne "Ma sélection" est semblable à l'insertion de programmes dans votre propre chaîne. Pour en savoir plus sur la fonctionnalité Regarder ensuite, consultez les sections suivantes.

Lorsque vous insérez du contenu dans la chaîne "À regarder ensuite", vous devez respecter les consignes suivantes :

Sélectionner un type de programme

Il existe quatre types de programmes Ma sélection. Sélectionnez le type approprié :

Type Remarques
WATCH_NEXT_TYPE_CONTINUE L'utilisateur a arrêté de regarder le contenu.
WATCH_NEXT_TYPE_NEXT Le prochain programme disponible dans une série que l'utilisateur regarde est disponible. Par exemple, si l'utilisateur regarde l'épisode 3 d'une série, l'application peut lui suggérer de regarder l'épisode 4 ensuite.
WATCH_NEXT_TYPE_NEW De nouveaux contenus qui suivent clairement ce que l'utilisateur regarde sont désormais disponibles. Par exemple, l'utilisateur regarde l'épisode 5 d'une série et l'épisode 6 devient disponible.
WATCH_NEXT_TYPE_WATCHLIST Inséré par le système ou l'application lorsque l'utilisateur enregistre un programme.

Pour en savoir plus, consultez Attributs "À suivre".

Utiliser le générateur WatchNextProgram

Utilisez un WatchNextProgram.Builder. Pour en savoir plus, consultez Attributs "À suivre".

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

Utilisez TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId) pour créer le Uri dont vous avez besoin pour mettre à jour un programme "Ma sélection".

Lorsque l'utilisateur ajoute un programme à la chaîne "Ma sélection", le système copie le programme dans la ligne. Il envoie l'intention TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT pour informer l'application que le programme a été ajouté. L'intent inclut deux extras : l'ID du programme qui a été copié et l'ID du programme créé pour le programme dans la chaîne "Ma sélection".