Chia sẻ với Trợ lý

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Người dùng trên điện thoại Android có thể yêu cầu Trợ lý Google chia sẻ nội dung ứng dụng với người dùng khác bằng một lệnh thoại như "OK Google, hãy gửi nội dung này cho Jane". Dựa trên tuỳ chọn hệ thống của người dùng đầu tiên, Trợ lý theo đó có thể kết hợp văn bản từ màn hình hoặc ảnh chụp màn hình thiết bị trong nội dung được chia sẻ.

Trợ lý sẽ chèn ảnh đã chọn vào một tin nhắn khi được nhắc.
Hình 1. Trợ lý chia sẻ ảnh với một người liên hệ có trong danh bạ

Thông thường chỉ cần phương thức chia sẻ này là đủ, nhưng những người dùng nhận nội dung chia sẻ từ ứng dụng của bạn có thể không vào lại được ứng dụng để xem nội dung. Bạn có thể cung cấp cho Trợ lý thông tin có cấu trúc về nội dung nền trước hiện tại bằng cách triển khai phương thức onProvideAssistContent().

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

Bạn nên triển khai onProvideAssistContent() cho mọi ứng dụng entity có thể chia sẻ được.

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

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ụ: trong luồng CREATE_MONEY_TRANSFER, bạn sẽ triển khai phương thức này ở màn hình cuối cùng hiển thị biên nhận; bạn không cần triển khai phương thức 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 thông tin theo ngữ cảnh dưới dạng một đối tượng JSON-LD sử dụng từ vựng trên schema.org trong trường structuredData củaAssistContent. Đoạn mã sau đây cho thấy một ví dụ về cách ghi lại nội dung theo ngữ cảnh:

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

    // JSON-LD object based on Schema.org structured data
    outContent.structuredData = JSONObject()
            .put("@type", "MenuItem")
            .put("name", "Blueberry Crisp Iced Signature Latte")
            .put("url", "https://mysite.com/menuitems/12345a")
            .toString()
}
      
Java
@Override
public void onProvideAssistContent(AssistContent outContent) {
  super.onProvideAssistContent(outContent);

  // JSON-LD object based on Schema.org structured data
  outContent.structuredData = new JSONObject()
          .put("@type", "MenuItem")
          .put("name", "Blueberry Crisp Iced Signature Latte")
          .put("url", "https://mysite.com/menuitems/12345a")
          .toString();
}
      

Mặc dù bạn nên cung cấp nhiều dữ liệu nhất có thể cho từng entity, nhưng các trường dưới đâ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.