Générateurs courants pour les objets indexables

Autocollants

Ceci est un aperçu des propriétés les plus importantes à inclure lors de l'indexation d'autocollants ou de packs d'autocollants pour l'intégration avec Gboard. Consultez l’ exemple d’indexation d’application sur Github pour un exemple.

Propriété Description Exemple
name Nom ou mot-clé utilisé pour la recherche – non affiché. "Pack d'autocollants Snoopy"
url URL renvoyant vers l’autocollant ou le pack d’autocollants dans l’application. "http://sticker/pack/canonical/url/snoopy"
image Le graphique de l’autocollant ou du pack d’autocollants. Pour une qualité d'image optimale, utilisez des images carrées de 320 ou 500 pixels. "http://link/to/the/image/bye"
description Étiquette d'accessibilité pour votre autocollant ou pack d'autocollants. "Un pack d'autocollants Snoopy"

Exemple : pack d'autocollants

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

Exemple : autocollant individuel

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

Message

Ceci est un aperçu des propriétés les plus importantes qui doivent être spécifiées par une application lors de l'indexation d'un message.

Propriété Description Exemple
url L'URL pointant vers le message dans l'application. "monapplication://messages/42"
name La ligne d'objet du message, ou directement le message lui-même, s'il n'a pas de ligne d'objet distincte. "Re: déjeuner"
text Facultatif. Le corps du message, le cas échéant. Pour les messages de type messagerie instantanée sans ligne d'objet distincte, utilisez « nom » (voir ci-dessus). "Es-tu libre pour le déjeuner ?"
dateReceived Heure de réception du message, pour les messages entrants. nouvelle Date(2016, 6, 2, 23, 43, 00)
dateSent Heure à laquelle le message a été envoyé, pour les messages sortants. nouvelle Date(2016, 6, 2, 23, 43, 00)
isPartOf.id Un identifiant pour la conversation ou le fil de discussion dont le message fait partie. "42"
sender L'expéditeur du message.
sender.name Le nom de l'expéditeur. "Alice"
sender.url Facultatif. L'URL pointant vers la personne dans l'application. "http://example.net/profiles/alice"
sender.image Facultatif. Une image de l'expéditeur. Une URL Web ou un URI de contenu peut être utilisé. "http://example.net/alice.jpg"
sender.email Facultatif. L'adresse e-mail de l'expéditeur. "alice@exemple.net"
sender.telephone Facultatif. Le numéro de téléphone de l'expéditeur. "+16502530000"
sender.isSelf Indique si l'utilisateur est l'expéditeur. Le défaut est faux. FAUX
recipient Un ou plusieurs destinataires du message.
recipient.name Le nom du destinataire. "Bob"
recipient.url Facultatif. L'URL pointant vers la personne dans l'application. "http://example.net/profiles/bob"
recipient.image Facultatif. Une image du destinataire. Une URL Web ou un URI de contenu peut être utilisé. "http://example.net/bob.jpg"
recipient.email Facultatif. L'adresse e-mail de l'expéditeur. "bob@exemple.net"
recipient.telephone Facultatif. Le numéro de téléphone de l'expéditeur. "+16502530000"
recipient.isSelf Indication si l'utilisateur est le destinataire. Le défaut est faux. vrai
messageAttachment Facultatif. Une ou plusieurs pièces jointes au message.
messageAttachment.name Le nom de la pièce jointe au message. "Autocollant"
messageAttachment.image Une image représentant la pièce jointe. Une URL Web ou un URI de contenu peut être utilisé. "http://example.net/stickers/23.png"

Exemple : message entrant

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

Pour les e-mails, utilisez plutôt Indexables.emailMessageBuilder() . Il n'y a aucune différence dans les champs pris en charge, mais l'interface utilisateur du résultat sera différente (par exemple, mise en évidence de la ligne d'objet de l'e-mail).

Note

Ceci est un aperçu des propriétés les plus importantes qui doivent être spécifiées par une application lors de l'indexation d'une note.

Propriété Description Exemple
url L'URL renvoyant à la note dans l'application. "monapplication://notes/42"
name Le titre de la note, ou directement le texte de la note lui-même, s'il n'a pas de titre distinct. "Liste de courses"
text Facultatif. Le texte de la note, le cas échéant. Pour les notes sans titre distinct, utilisez « nom » (voir ci-dessus). "steak, pâtes, vin"
image Une image représentant la note. Une URL Web ou un URI de contenu peut être utilisé. "http://example.net/shopping.jpg"
dateCreated L’heure de création de la note. nouvelle Date(2016, 6, 2, 23, 43, 00)
author Facultatif. L'auteur de la note.
author.name Le nom de l'auteur de la note. "Bob"

Exemple : Remarque

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