Thêm chương trình vào kênh Watch Next

Kênh Watch Next là hàng thứ hai xuất hiện trên màn hình chính, sau hàng ứng dụng. Hệ thống tạo ra và duy trì kênh này. Ứng dụng của bạn có thể thêm chương trình vào kênh Watch Next: chương trình mà người dùng đánh dấu là thú vị, dừng xem giữa chừng hoặc có liên quan đến nội dung mà người dùng đang xem (như tập tiếp theo trong một bộ phim dài tập hoặc phần tiếp theo của một chương trình).

Kênh Watch Next có một số hạn chế: ứng dụng của bạn không thể di chuyển, xoá hoặc ẩn hàng của kênh Watch Next.

Các bước

Việc chèn chương trình vào kênh Watch Next tương tự như việc chèn chương trình vào kênh của riêng bạn. Hãy xem các phần sau để biết thông tin chi tiết cụ thể về danh sách Xem tiếp.

Khi chèn nội dung vào kênh Watch Next, bạn phải tuân thủ các nguyên tắc sau:

Chọn một loại chương trình

Có 4 loại chương trình Watch Next. Chọn loại phù hợp:

Loại Ghi chú
WATCH_NEXT_TYPE_CONTINUE Người dùng dừng xem nội dung.
WATCH_NEXT_TYPE_NEXT Chương trình tiếp theo trong một loạt chương trình mà người dùng đang xem. Ví dụ: nếu người dùng đang xem tập 3 của một bộ phim, thì ứng dụng có thể đề xuất họ xem tập 4 tiếp theo.
WATCH_NEXT_TYPE_NEW Giờ đây, bạn có thể xem nội dung mới rõ ràng theo nội dung mà người dùng đang xem. Ví dụ: người dùng đang xem tập 5 của một bộ phim và tập 6 đã có thể xem.
WATCH_NEXT_TYPE_WATCHLIST Do hệ thống hoặc ứng dụng chèn vào khi người dùng lưu một chương trình.

Để biết thêm thông tin, hãy xem phần Thuộc tính của danh sách Xem tiếp.

Sử dụng trình tạo WatchNextProgram

Sử dụng WatchNextProgram.Builder. Để biết thêm thông tin, hãy xem bài viết Thuộc tính Xem tiếp.

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

Sử dụng TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId) để tạo Uri mà bạn cần để cập nhật một chương trình trong danh sách Watch Next.

Khi người dùng thêm một chương trình vào kênh Watch Next, hệ thống sẽ sao chép chương trình đó vào hàng. Thao tác này sẽ gửi ý định TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT để thông báo cho ứng dụng rằng chương trình đã được thêm. Ý định này bao gồm 2 phần bổ sung: mã nhận dạng chương trình đã sao chép và mã nhận dạng chương trình được tạo cho chương trình trong kênh Watch Next.