Đọc to

Đọc to là một tính năng của Trợ lý Google trên thiết bị Android, hỗ trợ người dùng đọc nội dung dài trên web, chẳng hạn như tin bài và bài đăng trên blog. Người dùng có thể nói những câu như "Ok Google, hãy đọc to nội dung." để yêu cầu ứng dụng đọc nội dung có trên nền tảng web, làm nổi bật các từ đang được đọc và tự động cuộn trang. Để tìm hiểu thêm về tính năng này, bạn cũng có thể đọc Bài đăng về nội dung cập nhật sản phẩm Đọc to.

Khi được nhắc, Trợ lý Google sẽ đọc thành tiếng một nội dung trang web trên màn hình.
Hình 1. Nghe ứng dụng đọc thành tiếng nội dung trang web

Ứng dụng Android có nội dung đăng trên nền tảng web có thể hỗ trợ tính năng Đọc to bằng cách cung cấp thông tin cho Trợ lý thông qua phương thức onProvideAssistContent().

Quá trình này giúp duy trì cấu trúc dữ liệu khi nó được chia sẻ với Trợ lý. Sau đó, người dùng nhận được nội dung ứng dụng chia sẻ có thể được liên kết sâu hoặc nhận trực tiếp nội dung, thay vì tiếp nhận nội dung dưới dạng văn bản hoặc ảnh chụp màn hình.

Hãy triển khai onProvideAssistContent() cho toàn bộ nội dung đăng trên nền tảng web và mọi entity có thể chia sẻ trong ứng dụng.

Cung cấp nội dung cho Trợ lý

Để tính năng Đọc to có thể truy cập vào nội dung, ứng dụng của bạn phải cung cấp cho Trợ lý thông tin về nội dung, chẳng hạn như URI web và một số ngữ cảnh cơ bản. Sau đó, Trợ lý có thể truy xuất nội dung để đọc cho người dùng.

Đối với các ứng dụng Android đã triển khai nội dung dựa trên nền tảng web bằng cách sử dụng Chế độ xem WebView hoặc Thẻ tuỳ chỉnh của Chrome, hãy sử dụng cùng các URI web cho tính năng Đọc to làm điểm xuất phát.

Khi kết hợp chức năng Đọc to với ý định tích hợp, bạn chỉ cần triển khai onProvideAssistContent() cho hoạt động ứng dụng cuối cùng trong luồng tác vụ của người dùng sau khi gọi Hành động trong ứng dụng.

Ví dụ: nếu ứng dụng hiển thị tin bài, hãy triển khai onProvideAssistContent() trên màn hình cuối cùng hiển thị bài viết; bạn không cần phải triển khai phương thức này cho bất kỳ màn hình đang chạy hoặc màn hình xem trước nào.

Cung cấp URI web cho nội dung của bạn trong trường uri của AssistContent. Cung cấp thông tin theo ngữ cảnh dưới dạng một đối tượng JSON-LD bằng cách sử dụng từ vựng trên trang schema.org trong trường structuredData.

Đoạn mã sau đây minh họa một ví dụ về việc cung cấp nội dung cho Trợ lý:

Kotlin

override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // Set the web URI for content to be read from a
    // WebView, Chrome Custom Tab, or other source
    val urlString = url.toString()
    outContent.setWebUri(Uri.parse(urlString))

    // Create JSON-LD object based on schema.org structured data
    val structuredData = JSONObject()
        .put("@type", "Article")
        .put("name", "ExampleName of blog post")
        .put("url", outContent.getWebUri())
        .toString()
    outContent.setStructuredData(structuredData)
}

Java

@Override
public void onProvideAssistContent(AssistContent outContent) {

  // Set the web URI for content to be read from a
  // WebView, Chrome Custom Tab, or other source
  String urlString = url.toString();
  outContent.setWebUri(Uri.parse(urlString));

  try {
      // Create JSON-LD object based on schema.org structured data
      String structuredData = new JSONObject()
          .put("@type", "Article")
          .put("name", "ExampleName of blog post")
          .put("url", outContent.getWebUri())
          .toString();
      outContent.setStructuredData(structuredData);
  } catch (JSONException ex) {
      // Handle exception
      Log.e(TAG, ex.getMessage());
  }

  super.onProvideAssistContent(outContent);
}

Khi triển khai onProvideAssistContent(), hãy cung cấp nhiều dữ liệu nhất có thể cho mỗi entity. Các trường sau đây là bắt buộc:

  • @type
  • .name
  • .url (chỉ bắt buộc nếu nội dung có thể xác định địa chỉ URL)

Để tìm hiểu thêm về cách sử dụng onProvideAssistContent(), vui lòng xem tài liệu hướng dẫn cách Tối ưu hoá nội dung theo ngữ cảnh cho Trợ lý dành cho nhà phát triển Android.