可建立索引物件的常見建構工具

貼圖

這是將索引貼紙或 可與 Gboard 整合的貼圖包。詳情請參閱 應用程式索引範例 查看範例

屬性 說明 範例
name 系統未顯示搜尋時使用的名稱或關鍵字。 「Snoopy Sticker Pack」
url 應用程式中的貼圖或貼圖包網址。 「http://sticker/pack/standard/url/snoopy」
image 貼圖或貼圖包的圖片。為求最佳圖片品質,請使用大小為 320 的正方形圖片 或 500 像素。 「http://link/to/the/image/bye」
description 貼圖或貼圖包的無障礙標籤。 「一包史努比貼圖」

例如:貼圖包

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

範例:個別貼圖

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

訊息

本節概述了為應用程式建立索引時,應指定最重要的屬性。

屬性 說明 範例
url 連結至應用程式中的訊息的網址。 「myapp://messages/42」
name 郵件主旨行,或郵件本身 (如果沒有獨立主旨行)。 「Re: 午餐」
text 選用。郵件內文 (如適用)。如要傳送無需獨立主旨行的即時訊息類型,請使用「名稱」(請見上方說明)。 「請問午餐免費嗎?」
dateReceived 接收郵件/訊息的時間。 新日期(2016, 6, 2, 23, 43, 00)
dateSent 郵件的傳送時間 (如果是外寄郵件)。 新日期(2016, 6, 2, 23, 43, 00)
isPartOf.id 訊息所屬對話或討論串的 ID。 「42」
sender 訊息的寄件者。
sender.name 寄件者名稱。 「愛麗」
sender.url 選用。連結至應用程式中的使用者網址。 「http://example.net/profiles/alice」
sender.image 選用。傳送者的圖片。可使用網址或內容 URI。 「http://example.net/alice.jpg」
sender.email 選用。寄件者的電子郵件地址。 「alice@example.net」
sender.telephone 選用。寄件人的電話號碼。 「+16502530000」
sender.isSelf 表示使用者是否為寄件者。預設值為 false。 false
recipient 郵件的一或多位收件者。
recipient.name 接收者的名稱。 「小巴」
recipient.url 選用。連結至應用程式中的使用者網址。 「http://example.net/profiles/bob」
recipient.image 選用。收件者的圖片。可使用網址或內容 URI。 「http://example.net/bob.jpg」
recipient.email 選用。寄件者的電子郵件地址。 「bob@example.net」
recipient.telephone 選用。寄件人的電話號碼。 「+16502530000」
recipient.isSelf 表示使用者是否為收件者。預設值為 false。
messageAttachment 選用。訊息中的一或多個附件。
messageAttachment.name 訊息附件的名稱。 「貼圖」
messageAttachment.image 代表附件的圖片。可使用網址或內容 URI。 「http://example.net/stickers/23.png」

範例:收到的訊息

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

如果是電子郵件,請改用 Indexables.emailMessageBuilder()。由於沒有 但結果 UI 不同 (例如醒目顯示 電子郵件的主旨行)。

注意事項

本節概述了為應用程式為記事建立索引時必須指定的最重要屬性。

屬性 說明 範例
url 連結至應用程式中附註的網址。 「myapp://notes/42」
name 記事標題,或記事文字本身 (如果沒有其他標題)。 「購物清單」
text 選用。附註文字 (如有)。如果是沒有不同標題的記事,請使用「名稱」(請見上方說明)。 "牛排, 義大利麵, 葡萄酒"
image 代表記事的圖片。可使用網址或內容 URI。 「http://example.net/shopping.jpg」
dateCreated 記事的建立時間。 新日期(2016, 6, 2, 23, 43, 00)
author 選用。附註的作者。
author.name 記事作者的名稱。 「小巴」

範例:附註

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