Adesivos
Esta é uma visão geral das propriedades mais importantes a serem incluídas ao indexar adesivos ou pacotes de adesivos para integração com o Gboard. Veja o exemplo de indexação de aplicativos no Github para ver um exemplo.
Propriedade | Descrição | Exemplo |
---|---|---|
name | Nome ou palavra-chave usada para pesquisa — não exibido. | "Pacote de adesivos do Snoopy" |
url | URL com link para o adesivo ou pacote de adesivos no aplicativo. | "http://adesivo/pack/canonical/url/snoopy" |
image | O adesivo ou gráfico do pacote de adesivos. Para obter a qualidade de imagem ideal, use imagens quadradas com tamanho de 320 pixels ou 500 pixels. | "http://link/para/a/imagem/tchau" |
description | Etiqueta de acessibilidade para seu adesivo ou pacote de adesivos. | "Um pacote de adesivos do Snoopy" |
Exemplo: pacote de adesivos
// 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());
Exemplo: adesivo individual
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);
Mensagem
Esta é uma visão geral das propriedades mais importantes que devem ser especificadas por um aplicativo ao indexar uma mensagem.
Propriedade | Descrição | Exemplo |
---|---|---|
url | O URL vinculado à mensagem no aplicativo. | "meuapp://mensagens/42" |
name | A linha de assunto da mensagem, ou diretamente a própria mensagem, se não tiver uma linha de assunto separada. | "Re: almoço" |
text | Opcional. O corpo da mensagem, se aplicável. Para mensagens do tipo mensagens instantâneas sem uma linha de assunto separada, use "nome" (veja acima). | "Você está livre para almoçar?" |
dateReceived | A hora em que a mensagem foi recebida, para mensagens recebidas. | nova data (2016, 6, 2, 23, 43, 00) |
dateSent | A hora em que a mensagem foi enviada, para mensagens enviadas. | nova data (2016, 6, 2, 23, 43, 00) |
isPartOf.id | Um ID da conversa ou thread do qual a mensagem faz parte. | "42" |
sender | O remetente da mensagem. | |
sender.name | O nome do remetente. | "Alice" |
sender.url | Opcional. O URL com link para a pessoa no aplicativo. | "http://example.net/profiles/alice" |
sender.image | Opcional. Uma imagem do remetente. Pode ser usado um URL da web ou um URI de conteúdo. | "http://example.net/alice.jpg" |
sender.email | Opcional. O endereço de e-mail do remetente. | "alice@exemplo.net" |
sender.telephone | Opcional. O número de telefone do remetente. | "+16502530000" |
sender.isSelf | Indicação se o usuário é o remetente. O padrão é falso. | falso |
recipient | Um ou vários destinatários da mensagem. | |
recipient.name | O nome do destinatário. | "Prumo" |
recipient.url | Opcional. O URL com link para a pessoa no aplicativo. | "http://example.net/profiles/bob" |
recipient.image | Opcional. Uma imagem do destinatário. Pode ser usado um URL da web ou um URI de conteúdo. | "http://example.net/bob.jpg" |
recipient.email | Opcional. O endereço de e-mail do remetente. | "bob@exemplo.net" |
recipient.telephone | Opcional. O número de telefone do remetente. | "+16502530000" |
recipient.isSelf | Indicação se o usuário é o destinatário. O padrão é falso. | verdadeiro |
messageAttachment | Opcional. Um ou vários anexos da mensagem. | |
messageAttachment.name | O nome do anexo da mensagem. | "Adesivo" |
messageAttachment.image | Uma imagem que representa o anexo. Pode ser usado um URL da web ou um URI de conteúdo. | "http://example.net/stickers/23.png" |
Exemplo: mensagem recebida
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();
Para mensagens de email, use Indexables.emailMessageBuilder()
. Não há diferença nos campos suportados, mas a UI do resultado será diferente (por exemplo, destacando a linha de assunto do e-mail).
Observação
Esta é uma visão geral das propriedades mais importantes que devem ser especificadas por um aplicativo ao indexar uma nota.
Propriedade | Descrição | Exemplo |
---|---|---|
url | O URL com link para a nota no aplicativo. | "meuapp://notas/42" |
name | O título da nota, ou diretamente o próprio texto da nota, caso não possua um título separado. | "Lista de compras" |
text | Opcional. O texto da nota, se aplicável. Para notas sem título separado, use "nome" (veja acima). | "bife, macarrão, vinho" |
image | Uma imagem representando a nota. Pode ser usado um URL da web ou um URI de conteúdo. | "http://example.net/shopping.jpg" |
dateCreated | A hora de criação da nota. | nova data (2016, 6, 2, 23, 43, 00) |
author | Opcional. O autor da nota. | |
author.name | O nome do autor da nota. | "Prumo" |
Exemplo: Nota
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();