Trình tạo chung cho các đối tượng có thể lập chỉ mục

Nhãn dán

Đây là thông tin tổng quan về các thuộc tính quan trọng nhất cần đưa vào khi lập chỉ mục hình dán hoặc gói hình dán để tích hợp với Gboard. Xem mẫu Lập chỉ mục ứng dụng trên Github để biết ví dụ.

Tài sản Sự miêu tả Ví dụ
name Tên hoặc từ khóa được sử dụng để tìm kiếm — không được hiển thị. "Gói nhãn dán Snoopy"
url URL liên kết tới nhãn dán hoặc gói nhãn dán trong ứng dụng. "http://sticker/pack/canonical/url/snoopy"
image Đồ họa nhãn dán hoặc gói nhãn dán. Để có chất lượng hình ảnh tối ưu, hãy sử dụng hình ảnh vuông có kích thước 320 pixel hoặc 500 pixel. "http://link/to/the/image/bye"
description Nhãn hỗ trợ tiếp cận cho nhãn dán hoặc gói nhãn dán của bạn. "Một gói nhãn dán Snoopy"

Ví dụ: Gói nhãn dán

// Build and index the sticker objects on first run after update or install
// to minimize lag between sticker install and stickers surfacing in Gboard.

FirebaseAppIndex.update(new Indexable.Builder("StickerPack")
   .setName("Snoopy Pack")
   .setImage("content://sticker/pack/canonical/image")
   // see: Support links to your app content section
   .setUrl("http://sticker/pack/canonical/url/snoopy")
   // Set the accessibility label for the sticker pack.
   .setDescription("A sticker pack of Snoopy")
   .put("hasSticker",
        new Indexable.Builder("Sticker")
          .setName("Hey")
          .setImage("http://link/to/the/image/hey")
          .setDescription("A Snoopy hey sticker.")
          .build(),
       new Indexable.Builder("Sticker")
          .setName("Bye")
          .setImage("http://link/to/the/image/bye")
          .setDescription("A Snoopy bye sticker.")
          .build())
   .build());

Ví dụ: Nhãn dán cá nhân

Indexable[] stickers = new Indexable[]{
      new Indexable.Builder("Sticker")
   .setName("Hey")
   .setImage("http://www.snoopysticker.com?id=1234")
   // see: Support links to your app content section
   .setUrl("http://sticker/canonical/image/hey")
   // Set the accessibility label for the sticker.
   .setDescription("A sticker for hi")
   // Add search keywords.
   .put("keywords", "hey", "snoopy", "hi", "hello")
   .put("isPartOf",
        new Indexable.Builder("StickerPack")
          .setName("Snoopy Pack"))
          .build())
   .build()),
new Indexable.Builder("Sticker")
   .setName("Bye")
   .setImage("http://www.snoopysticker.com?id=4567")
   // see: Support links to your app content section
   .setUrl("http://sticker/canonical/image/bye")
   // Set the accessibility label for the sticker.
   .setDescription("A sticker for Bye")
   // Add search keywords.
   .put("keywords", "bye", "snoopy", "see ya", "good bye")
   .put("isPartOf",
        new Indexable.Builder("StickerPack")
          .setName("Snoopy Pack")
          .build())
   .build())};
// Make sure we update stickers in batch
FirebaseAppIndex.update(stickers);

Tin nhắn

Đây là thông tin tổng quan về các thuộc tính quan trọng nhất mà ứng dụng cần chỉ định khi lập chỉ mục thư.

Tài sản Sự miêu tả Ví dụ
url URL liên kết đến tin nhắn trong ứng dụng. "myapp://messages/42"
name Dòng chủ đề của tin nhắn hoặc trực tiếp chính tin nhắn đó nếu nó không có dòng chủ đề riêng. "Re: bữa trưa"
text Không bắt buộc. Nội dung của tin nhắn, nếu có. Đối với loại tin nhắn tức thời không có dòng chủ đề riêng, hãy sử dụng "tên" (xem bên trên). "Bạn có rảnh để ăn trưa không?"
dateReceived Thời gian nhận được tin nhắn, đối với các tin nhắn đến. Ngày mới(2016, 6, 2, 23, 43, 00)
dateSent Thời gian tin nhắn được gửi đi đối với tin nhắn gửi đi. Ngày mới(2016, 6, 2, 23, 43, 00)
isPartOf.id ID của cuộc trò chuyện hoặc chuỗi chứa tin nhắn. "42"
sender Người gửi tin nhắn.
sender.name Tên của người gửi. "Alice"
sender.url Không bắt buộc. URL liên kết tới người trong ứng dụng. "http://example.net/profiles/alice"
sender.image Không bắt buộc. Hình ảnh người gửi. Có thể sử dụng URL web hoặc URI nội dung. "http://example.net/alice.jpg"
sender.email Không bắt buộc. Địa chỉ email của người gửi. "alice@example.net"
sender.telephone Không bắt buộc. Số điện thoại của người gửi. "+16502530000"
sender.isSelf Cho biết liệu người dùng có phải là người gửi hay không. Mặc định này sai. SAI
recipient Một hoặc nhiều người nhận tin nhắn.
recipient.name Tên của người nhận. "Bob"
recipient.url Không bắt buộc. URL liên kết tới người trong ứng dụng. "http://example.net/profiles/bob"
recipient.image Không bắt buộc. Hình ảnh người nhận. Có thể sử dụng URL web hoặc URI nội dung. "http://example.net/bob.jpg"
recipient.email Không bắt buộc. Địa chỉ email của người gửi. "bob@example.net"
recipient.telephone Không bắt buộc. Số điện thoại của người gửi. "+16502530000"
recipient.isSelf Cho biết liệu người dùng có phải là người nhận hay không. Mặc định này sai. ĐÚNG VẬY
messageAttachment Không bắt buộc. Một hoặc nhiều tệp đính kèm vào tin nhắn.
messageAttachment.name Tên của tệp đính kèm trong tin nhắn. "Nhãn dán"
messageAttachment.image Một hình ảnh đại diện cho tệp đính kèm. Có thể sử dụng URL web hoặc URI nội dung. "http://example.net/stickers/23.png"

Ví dụ: Tin nhắn đến

Indexable message = Indexables.messageBuilder()
    .setUrl("myapp://messages/42")
    .setText("Are you free for lunch?")
    .setDateReceived(new Date(2016, 6, 2, 23, 44, 00))
    .setIsPartOf(Indexables.conversationBuilder().setId("42")
    .setSender(Indexables.personBuilder()
        .setName("Alice")
        .setImage("http://example.net/alice.jpg")
        .setEmail("alice@example.net")
        .setTelephone("+16502530000"))
    .setRecipient(Indexables.personBuilder()
        .setName("Bob")
        .setImage("http://example.net/bob.jpg")
        .setEmail("bob@people.net")
        .setTelephone("+16502530000")
        .setIsSelf(true))
    .build();
 

Đối với email, hãy sử dụng Indexables.emailMessageBuilder() thay thế. Không có sự khác biệt trong các trường được hỗ trợ, nhưng giao diện người dùng kết quả sẽ khác nhau (ví dụ: đánh dấu dòng chủ đề của email).

Ghi chú

Đây là thông tin tổng quan về các thuộc tính quan trọng nhất mà ứng dụng cần chỉ định khi lập chỉ mục cho ghi chú.

Tài sản Sự miêu tả Ví dụ
url URL liên kết tới ghi chú trong ứng dụng. "myapp://notes/42"
name Tiêu đề của ghi chú hoặc trực tiếp chính văn bản ghi chú nếu nó không có tiêu đề riêng. "Danh sách mua sắm"
text Không bắt buộc. Văn bản của ghi chú, nếu có. Đối với ghi chú không có tiêu đề riêng, hãy sử dụng "tên" (xem ở trên). "bít tết, mì ống, rượu vang"
image Một hình ảnh đại diện cho ghi chú. Có thể sử dụng URL web hoặc URI nội dung. "http://example.net/shopping.jpg"
dateCreated Thời gian tạo ghi chú. Ngày mới(2016, 6, 2, 23, 43, 00)
author Không bắt buộc. Tác giả của ghi chú.
author.name Tên của tác giả của ghi chú. "Bob"

Ví dụ: Ghi chú

Indexable note = Indexables.noteDigitalDocumentBuilder()
    .setUrl("myapp://notes/42")
    .setName("Shopping list")
    .setText("steak, pasta, wine")
    .setImage("http://example.net/shopping.jpg")
    .setDateCreated(new Date(2016, 6, 2, 23, 43, 00))
    .build();