Costruttori comuni per oggetti indicizzabili

Adesivi

Questa è una panoramica delle proprietà più importanti da includere durante l'indicizzazione di adesivi o pacchetti di adesivi per l'integrazione con Gboard. Per un esempio, vedere l' esempio di indicizzazione delle app su Github.

Proprietà Descrizione Esempio
name Nome o parola chiave utilizzata per la ricerca: non visualizzata. "Pacchetto adesivi Snoopy"
url URL che collega all'adesivo o al pacchetto di adesivi nell'app. "http://adesivo/pacchetto/canonical/url/snoopy"
image L'adesivo o la grafica del pacchetto di adesivi. Per una qualità dell'immagine ottimale, utilizzare immagini quadrate di 320 pixel o 500 pixel. "http://link/alla/l'immagine/ciao"
description Etichetta di accessibilità per il tuo adesivo o pacchetto di adesivi. "Un pacchetto di adesivi Snoopy"

Esempio: pacchetto di adesivi

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

Esempio: adesivo individuale

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

Messaggio

Questa è una panoramica delle proprietà più importanti che dovrebbero essere specificate da un'app durante l'indicizzazione di un messaggio.

Proprietà Descrizione Esempio
url L'URL che collega al messaggio nell'app. "miaapp://messaggi/42"
name La riga dell'oggetto del messaggio, o direttamente il messaggio stesso, se non ha una riga dell'oggetto separata. "Ri: pranzo"
text Opzionale. Il corpo del messaggio, se applicabile. Per i messaggi di tipo messaggistica istantanea senza una riga di oggetto separata, utilizzare "nome" (vedere sopra). "Sei libero per pranzo?"
dateReceived L'ora in cui è stato ricevuto il messaggio, per i messaggi in arrivo. nuova data(2016, 6, 2, 23, 43, 00)
dateSent L'ora in cui è stato inviato il messaggio, per i messaggi in uscita. nuova data(2016, 6, 2, 23, 43, 00)
isPartOf.id Un ID per la conversazione o il thread di cui fa parte il messaggio. "42"
sender Il mittente del messaggio.
sender.name Il nome del mittente. "Alice"
sender.url Opzionale. L'URL che collega alla persona nell'app. "http://esempio.net/profiles/alice"
sender.image Opzionale. Un'immagine del mittente. È possibile utilizzare un URL Web o un URI di contenuto. "http://esempio.net/alice.jpg"
sender.email Opzionale. L'indirizzo email del mittente. "alice@esempio.net"
sender.telephone Opzionale. Il numero di telefono del mittente. "+16502530000"
sender.isSelf Indicazione se l'utente è il mittente. L'impostazione predefinita è falsa. falso
recipient Uno o più destinatari del messaggio.
recipient.name Il nome del destinatario. "Bob"
recipient.url Opzionale. L'URL che collega alla persona nell'app. "http://example.net/profiles/bob"
recipient.image Opzionale. Un'immagine del destinatario. È possibile utilizzare un URL Web o un URI di contenuto. "http://esempio.net/bob.jpg"
recipient.email Opzionale. L'indirizzo email del mittente. "bob@esempio.net"
recipient.telephone Opzionale. Il numero di telefono del mittente. "+16502530000"
recipient.isSelf Indicazione se l'utente è il destinatario. L'impostazione predefinita è falsa. VERO
messageAttachment Opzionale. Uno o più allegati al messaggio.
messageAttachment.name Il nome dell'allegato al messaggio. "Etichetta"
messageAttachment.image Un'immagine che rappresenta l'allegato. È possibile utilizzare un URL Web o un URI di contenuto. "http://example.net/stickers/23.png"

Esempio: messaggio in arrivo

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

Per i messaggi di posta elettronica, utilizzare invece Indexables.emailMessageBuilder() . Non c'è differenza nei campi supportati, ma l'interfaccia utente del risultato sarà diversa (ad esempio evidenziando la riga dell'oggetto dell'e-mail).

Nota

Questa è una panoramica delle proprietà più importanti che dovrebbero essere specificate da un'app durante l'indicizzazione di una nota.

Proprietà Descrizione Esempio
url L'URL che collega alla nota nell'app. "miaapp://note/42"
name Il titolo della nota, o direttamente il testo della nota stessa, se non ha un titolo separato. "Lista della spesa"
text Opzionale. Il testo della nota, se applicabile. Per le note senza un titolo separato, utilizzare "nome" (vedi sopra). "bistecca, pasta, vino"
image Un'immagine che rappresenta la nota. È possibile utilizzare un URL Web o un URI di contenuto. "http://esempio.net/shopping.jpg"
dateCreated L'ora di creazione della nota. nuova data(2016, 6, 2, 23, 43, 00)
author Opzionale. L'autore della nota.
author.name Il nome dell'autore della nota. "Bob"

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