Typowe kreatory obiektów możliwych do indeksowania

Naklejki

Oto przegląd najważniejszych właściwości, które należy uwzględnić podczas indeksowania naklejek lub pakiety naklejek do integracji z Gboard. Zobacz Przykład indeksowania aplikacji na GitHubie.

Właściwość Opis Przykład
name Nazwa lub słowo kluczowe użyte do wyszukiwania – niewyświetlane. „Pakiet naklejek Snoopy”
url Adres URL prowadzący do naklejki lub pakietu naklejek w aplikacji. „http://naklejka/pakiet/canonical/url/snoopy”
image Grafika naklejki lub pakietu naklejek. Aby uzyskać optymalną jakość obrazu, używaj kwadratowych obrazów o rozmiarze 320 pikseli lub 500 pikseli. „http://link/do/zdjecia/bye”
description Etykieta ułatwień dostępu dla naklejki lub pakietu naklejek. „Paczka naklejek Snoopy'ego”

Przykład: pakiet naklejek

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

Przykład: naklejka indywidualna

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

Wiadomość

Oto przegląd najważniejszych właściwości, które aplikacja powinna określić podczas indeksowania wiadomości.

Właściwość Opis Przykład
url Adres URL prowadzący do wiadomości w aplikacji. „mojaaplikacja://wiadomości/42”
name Temat wiadomości lub bezpośrednio treść wiadomości, jeśli nie ma osobnego wiersza tematu. „Odp.: lunch”
text Opcjonalne. Treść wiadomości (w stosownych przypadkach). W przypadku wiadomości na czacie bez osobnego wiersza tematu użyj elementu „name” (patrz wyżej). „Masz czas na lunch?”
dateReceived Godzina odebrania wiadomości (w przypadku wiadomości przychodzących). nowa data(2016; 6; 2; 23; 43; 00)
dateSent Czas wysłania wiadomości (w przypadku wiadomości wychodzących). nowa data(2016; 6; 2; 23; 43; 00)
isPartOf.id Identyfikator rozmowy lub wątku, którego częścią jest wiadomość. „42”
sender Nadawca wiadomości.
sender.name Nazwa nadawcy. „Alicja”
sender.url Opcjonalne. Adres URL prowadzący do osoby w aplikacji. „http://example.net/profile/alicja”
sender.image Opcjonalne. Zdjęcie nadawcy. Można użyć adresu URL internetowego lub identyfikatora URI treści. „http://example.net/alice.jpg”
sender.email Opcjonalne. Adres e-mail nadawcy. „alicja@example.net”
sender.telephone Opcjonalne. Numer telefonu nadawcy. „+16502530000”
sender.isSelf Wskazanie, czy użytkownik jest nadawcą. Wartość domyślna to false (fałsz). fałsz
recipient Co najmniej jeden adresat wiadomości.
recipient.name Imię i nazwisko odbiorcy. „Robert”
recipient.url Opcjonalne. Adres URL prowadzący do osoby w aplikacji. „http://example.net/profile/robert”
recipient.image Opcjonalne. Zdjęcie odbiorcy. Można użyć adresu URL internetowego lub identyfikatora URI treści. „http://example.net/robert.jpg”
recipient.email Opcjonalne. Adres e-mail nadawcy. „jan@example.net”
recipient.telephone Opcjonalne. Numer telefonu nadawcy. „+16502530000”
recipient.isSelf Wskazanie, czy użytkownik jest odbiorcą. Wartość domyślna to false (fałsz). prawda
messageAttachment Opcjonalne. Co najmniej jeden załącznik do wiadomości.
messageAttachment.name Nazwa załącznika do wiadomości. „Naklejka”
messageAttachment.image Obraz reprezentujący załącznik. Można użyć adresu URL internetowego lub identyfikatora URI treści. „http://example.net/naklejki/23.png”

Przykład: wiadomość przychodząca

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

W przypadku e-maili używaj Indexables.emailMessageBuilder(). Brak między obsługiwanymi polami, ale interfejs będzie inny (np. wyróżnienie tematu e-maila).

Uwaga

Oto przegląd najważniejszych właściwości, które aplikacja powinna określić podczas indeksowania notatki.

Właściwość Opis Przykład
url Adres URL prowadzący do notatki w aplikacji. „mojaaplikacja://notes/42”
name Tytuł notatki lub bezpośrednio jej tekst, jeśli nie ma osobnego tytułu. „Lista zakupów”
text Opcjonalne. Tekst notatki (w stosownych przypadkach). W przypadku notatek bez osobnego tytułu wpisz „name” (patrz wyżej). „stek, makaron, wino”
image Obraz przedstawiający notatkę. Można użyć adresu URL internetowego lub identyfikatora URI treści. „http://example.net/zakupy.jpg”
dateCreated Czas utworzenia notatki. nowa data(2016; 6; 2; 23; 43; 00)
author Opcjonalne. Autor notatki.
author.name Imię i nazwisko autora notatki. „Robert”

Przykład: notatka

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