Наклейки
Это обзор наиболее важных свойств, которые следует учитывать при индексировании стикеров или пакетов стикеров для интеграции с 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();