可编入索引对象的常用构建器

贴纸

下面简要介绍了将贴纸或 与 Gboard 集成的贴纸包。请参阅 App Indexing 示例 查看示例

属性 说明 示例
name 搜索时使用的名称或关键字 - 未显示。 “史努比贴纸包”
url 指向应用内贴纸或贴纸包的网址。 “http://sticker/pack/canonical/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 收到邮件的时间(针对传入邮件)。 new Date(2016, 6, 2, 23, 43, 00)
dateSent 外发邮件的发送时间。 new Date(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 邮件附件的名称。 “Sticker”
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()。没有任何 但结果界面却有所不同(例如,突出显示 电子邮件主题行)。

备注

下面简要介绍了应用在将笔记编入索引时应指定的最重要的属性。

属性 说明 示例
url 指向应用中笔记的网址。 “myapp://notes/42”
name 备注的标题,如果没有单独的标题,则为备注文本本身的标题。 “购物清单”
text 可选。备注的文本(如果适用)。对于没有单独标题的笔记,请使用“名称”(参见上文)。 "牛排, 意大利面, 葡萄酒"
image 表示备注的图片。您可以使用网址或内容 URI。 "http://example.net/shopping.jpg"
dateCreated 备注的创建时间。 new Date(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();