Chia sẻ với Trợ lý

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, 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.

Triển khai onProvideAssistContent() cho mọi entity có thể chia sẻ được trong ứng dụng của bạn.

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, hãy 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ủa AssistContent. Đ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();
}
      

Hãy cung cấp nhiều dữ liệu nhất có thể cho từng entity. Các trường sau 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(), hãy xem hướng dẫn Tối ưu hoá nội dung theo ngữ cảnh cho Trợ lý.