Общие построители индексируемых объектов

Наклейки

Это обзор наиболее важных свойств, которые следует учитывать при индексировании стикеров или пакетов стикеров для интеграции с Gboard. Пример см. в примере индексирования приложений на Github.

Свойство Описание Пример
name Имя или ключевое слово, использованное для поиска — не отображается. "Набор наклеек Снупи"
url 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 URL-адрес, ссылающийся на сообщение в приложении. "myapp://messages/42"
name Тема сообщения или непосредственно само сообщение, если оно не имеет отдельной темы. «Ре: обед»
text Необязательный. Тело сообщения, если применимо. Для сообщений типа обмена мгновенными сообщениями без отдельной темы используйте «имя» (см. выше). — Ты свободен на обед?
dateReceived Время получения сообщения для входящих сообщений. новая дата (2016, 6, 2, 23, 43, 00)
dateSent Время отправки сообщения для исходящих сообщений. новая дата (2016, 6, 2, 23, 43, 00)
isPartOf.id Идентификатор беседы или цепочки, частью которой является сообщение. "42"
sender Отправитель сообщения.
sender.name Имя отправителя. "Алиса"
sender.url Необязательный. URL-адрес, ссылающийся на человека в приложении. "http://example.net/profiles/алиса"
sender.image Необязательный. Изображение отправителя. Можно использовать либо веб-URL, либо URI контента. "http://example.net/alice.jpg"
sender.email Необязательный. Адрес электронной почты отправителя. "alice@example.net"
sender.telephone Необязательный. Номер телефона отправителя. "+16502530000"
sender.isSelf Индикация того, является ли пользователь отправителем. По умолчанию — ложь. ЛОЖЬ
recipient Один или несколько получателей сообщения.
recipient.name Имя получателя. "Боб"
recipient.url Необязательный. URL-адрес, ссылающийся на человека в приложении. "http://example.net/profiles/bob"
recipient.image Необязательный. Изображение получателя. Можно использовать либо веб-URL, либо URI контента. "http://example.net/bob.jpg"
recipient.email Необязательный. Адрес электронной почты отправителя. "bob@example.net"
recipient.telephone Необязательный. Номер телефона отправителя. "+16502530000"
recipient.isSelf Указание того, является ли пользователь получателем. По умолчанию — ложь. истинный
messageAttachment Необязательный. Одно или несколько вложений к сообщению.
messageAttachment.name Имя вложения к сообщению. «Наклейка»
messageAttachment.image Изображение, представляющее вложение. Можно использовать либо веб-URL, либо 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 URL-адрес, ссылающийся на заметку в приложении. "myapp://notes/42"
name Заголовок заметки, или непосредственно сам текст заметки, если он не имеет отдельного заголовка. "Список покупок"
text Необязательный. Текст примечания, если применимо. Для заметок без отдельного заголовка используйте «имя» (см. выше). "стейк, паста, вино"
image Изображение, представляющее заметку. Можно использовать либо веб-URL, либо 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();