Dodawanie programów na kanale Warte obejrzenia

Kanał Warte obejrzenia to drugi wiersz, który pojawia się na ekranie głównym po wierszu aplikacji. Ten kanał jest tworzony i utrzymywany przez system. Aplikacja może dodawać do kanału Obejrzyj następny programy, które użytkownik oznaczył jako interesujące, które przerwał w trakcie oglądania lub które są powiązane z oglądanymi przez niego treściami (np. kolejny odcinek serialu lub kolejny sezon programu).

Kanał Obejrzyj następny ma pewne ograniczenia: aplikacja nie może przenosić, usuwać ani ukrywać wiersza kanału Obejrzyj następny.

Kroki

Wstawianie programów na kanał Obejrzyj następny jest podobne do wstawiania programów na własny kanał. Szczegółowe informacje dotyczące funkcji Obejrzyj następny znajdziesz w sekcjach poniżej.

Podczas wstawiania treści na kanał Obejrzyj następny musisz przestrzegać tych wytycznych:

Wybierz typ programu

Istnieją 4 rodzaje programów „Obejrzyj następny”: Wybierz odpowiedni typ:

Typ Uwagi
WATCH_NEXT_TYPE_CONTINUE Użytkownik zatrzymał odtwarzanie treści.
WATCH_NEXT_TYPE_NEXT Następny dostępny program z serii, którą ogląda użytkownik. Jeśli na przykład użytkownik ogląda 3 odcinek serialu, aplikacja może zasugerować mu obejrzenie kolejnego odcinka.
WATCH_NEXT_TYPE_NEW Dostępne są nowe treści, które wyraźnie nawiązują do tego, co ogląda użytkownik. Na przykład użytkownik ogląda odcinek 5 serialu, a odcinek 6 staje się dostępny do obejrzenia.
WATCH_NEXT_TYPE_WATCHLIST Wstawiany przez system lub aplikację, gdy użytkownik zapisuje program.

Więcej informacji znajdziesz w artykule Atrybuty funkcji Obejrzyj następny.

Korzystanie z narzędzia do tworzenia WatchNextProgram

Użyj WatchNextProgram.Builder. Więcej informacji znajdziesz w artykule Atrybuty funkcji Obejrzyj następny.

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

Użyj TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId), aby utworzyć Uri, którego potrzebujesz do zaktualizowania programu Obejrzyj następny.

Gdy użytkownik doda program do kanału Obejrzyj następny, system skopiuje go do wiersza. Wysyła intencję TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT, aby powiadomić aplikację o dodaniu programu. Intencja zawiera 2 dodatki: skopiowany identyfikator programu i identyfikator programu utworzony dla programu na kanale Obejrzyj później.