Gängige Builder für indizierbare Objekte

Aufkleber

Dies ist eine Übersicht über die wichtigsten Eigenschaften, die bei der Indizierung von Aufklebern oder Aufkleberpaketen für die Integration mit Gboard berücksichtigt werden müssen. Ein Beispiel finden Sie im App-Indexierungsbeispiel auf Github.

Eigentum Beschreibung Beispiel
name Für die Suche verwendeter Name oder Schlüsselwort – wird nicht angezeigt. „Snoopy-Aufkleberpaket“
url URL, die auf den Sticker oder Sticker-Pack in der App verweist. „http://sticker/pack/canonical/url/snoopy“
image Die Aufkleber- oder Aufkleberpaketgrafik. Für eine optimale Bildqualität verwenden Sie quadratische Bilder mit einer Größe von 320 Pixel oder 500 Pixel. „http://link/to/the/image/bye“
description Barrierefreiheitsetikett für Ihren Aufkleber oder Ihr Aufkleberpaket. „Eine Packung Snoopy-Aufkleber“

Beispiel: Aufkleberpaket

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

Beispiel: Individueller Aufkleber

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

Nachricht

Dies ist eine Übersicht über die wichtigsten Eigenschaften, die von einer App beim Indizieren einer Nachricht angegeben werden sollten.

Eigentum Beschreibung Beispiel
url Die URL, die auf die Nachricht in der App verweist. „myapp://messages/42“
name Die Betreffzeile der Nachricht oder direkt die Nachricht selbst, wenn sie keine separate Betreffzeile hat. „Betreff: Mittagessen“
text Optional. Gegebenenfalls der Nachrichtentext. Für Instant-Messaging-Nachrichten ohne separate Betreffzeile verwenden Sie „Name“ (siehe oben). „Hast du Zeit zum Mittagessen?“
dateReceived Der Zeitpunkt, zu dem die Nachricht empfangen wurde, für eingehende Nachrichten. neues Datum (2016, 6, 2, 23, 43, 00)
dateSent Der Zeitpunkt, zu dem die Nachricht gesendet wurde, für ausgehende Nachrichten. neues Datum (2016, 6, 2, 23, 43, 00)
isPartOf.id Eine ID für die Konversation oder den Thread, zu dem die Nachricht gehört. „42“
sender Der Absender der Nachricht.
sender.name Der Name des Absenders. „Alice“
sender.url Optional. Die URL, die auf die Person in der App verweist. „http://example.net/profiles/alice“
sender.image Optional. Ein Bild des Absenders. Es kann entweder eine Web-URL oder ein Inhalts-URI verwendet werden. „http://example.net/alice.jpg“
sender.email Optional. Die E-Mail-Adresse des Absenders. „alice@example.net“
sender.telephone Optional. Die Telefonnummer des Absenders. „+16502530000“
sender.isSelf Angabe, ob der Benutzer der Absender ist. Der Standardwert ist falsch. FALSCH
recipient Ein oder mehrere Empfänger der Nachricht.
recipient.name Der Name des Empfängers. "Bob"
recipient.url Optional. Die URL, die auf die Person in der App verweist. „http://example.net/profiles/bob“
recipient.image Optional. Ein Bild des Empfängers. Es kann entweder eine Web-URL oder ein Inhalts-URI verwendet werden. „http://example.net/bob.jpg“
recipient.email Optional. Die E-Mail-Adresse des Absenders. „bob@example.net“
recipient.telephone Optional. Die Telefonnummer des Absenders. „+16502530000“
recipient.isSelf Angabe, ob der Benutzer der Empfänger ist. Der Standardwert ist falsch. WAHR
messageAttachment Optional. Ein oder mehrere Anhänge zur Nachricht.
messageAttachment.name Der Name des Anhangs zur Nachricht. "Aufkleber"
messageAttachment.image Ein Bild, das den Anhang darstellt. Es kann entweder eine Web-URL oder ein Inhalts-URI verwendet werden. „http://example.net/stickers/23.png“

Beispiel: Eingehende Nachricht

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

Verwenden Sie für E-Mail-Nachrichten stattdessen Indexables.emailMessageBuilder() . Es gibt keinen Unterschied bei den unterstützten Feldern, aber die Benutzeroberfläche des Ergebnisses wird unterschiedlich sein (z. B. Hervorhebung der Betreffzeile der E-Mail).

Notiz

Dies ist eine Übersicht über die wichtigsten Eigenschaften, die von einer App beim Indizieren einer Notiz angegeben werden sollten.

Eigentum Beschreibung Beispiel
url Die URL, die auf die Notiz in der App verweist. „myapp://notes/42“
name Der Titel der Notiz oder direkt der Notiztext selbst, wenn dieser keinen separaten Titel hat. "Einkaufsliste"
text Optional. Gegebenenfalls den Text der Notiz. Für Notizen ohne separaten Titel verwenden Sie „Name“ (siehe oben). „Steak, Pasta, Wein“
image Ein Bild, das die Notiz darstellt. Es kann entweder eine Web-URL oder ein Inhalts-URI verwendet werden. „http://example.net/shopping.jpg“
dateCreated Der Erstellungszeitpunkt der Notiz. neues Datum (2016, 6, 2, 23, 43, 00)
author Optional. Der Autor der Notiz.
author.name Der Name des Autors der Notiz. "Bob"

Beispiel: Hinweis

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