Typowi konstruktorzy obiektów indeksowalnych

Naklejki

Oto przegląd najważniejszych właściwości, które należy uwzględnić podczas indeksowania naklejek lub pakietów naklejek w celu integracji z Gboard. Aby zapoznać się z przykładem, zobacz przykład indeksowania aplikacji w serwisie Github.

Nieruchomość Opis Przykład
name Nazwa lub słowo kluczowe użyte do wyszukiwania — nie są wyświetlane. „Pakiet naklejek ze Snoopym”
url Adres URL prowadzący do naklejki lub pakietu naklejek w aplikacji. „http://sticker/pack/canonical/url/snoopy”
image Grafika naklejki lub pakietu naklejek. Aby uzyskać optymalną jakość obrazu, używaj kwadratowych obrazów o rozmiarze 320 lub 500 pikseli. „http://link/do/zdjęcia/pa”
description Etykieta ułatwień dostępu dla naklejki lub pakietu naklejek. „Paczka naklejek ze Snoopym”

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: Indywidualna naklejka

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, jakie powinna określać aplikacja podczas indeksowania wiadomości.

Nieruchomość Opis Przykład
url Adres URL prowadzący do wiadomości w aplikacji. „mojaaplikacja://wiadomości/42”
name Temat wiadomości lub bezpośrednio sama wiadomość, jeśli nie posiada osobnego tematu. „Re: obiad”
text Opcjonalny. Treść wiadomości, jeśli ma to zastosowanie. W przypadku wiadomości typu komunikator internetowy bez osobnego tematu należy użyć słowa „nazwa” (patrz wyżej). – Czy jesteś wolny na lunch?
dateReceived Godzina otrzymania wiadomości dla wiadomości przychodzących. nowa data (2016, 6, 2, 23, 43, 00)
dateSent Godzina wysłania wiadomości dla wiadomości wychodzących. nowa data (2016, 6, 2, 23, 43, 00)
isPartOf.id Identyfikator konwersacji lub wątku, którego częścią jest wiadomość. „42”
sender Nadawca wiadomości.
sender.name Nazwa nadawcy. „Alicja”
sender.url Opcjonalny. Adres URL prowadzący do osoby w aplikacji. „http://example.net/profiles/alicja”
sender.image Opcjonalny. Obraz nadawcy. Można użyć adresu URL strony internetowej lub identyfikatora URI treści. „http://example.net/alicja.jpg”
sender.email Opcjonalny. Adres e-mail nadawcy. „alicja@example.net”
sender.telephone Opcjonalny. Numer telefonu nadawcy. „+16502530000”
sender.isSelf Wskazanie, czy użytkownik jest nadawcą. Wartość domyślna to fałsz. FAŁSZ
recipient Jeden lub wielu odbiorców wiadomości.
recipient.name Imię odbiorcy. "Pion"
recipient.url Opcjonalny. Adres URL prowadzący do osoby w aplikacji. „http://example.net/profiles/bob”
recipient.image Opcjonalny. Obraz odbiorcy. Można użyć adresu URL strony internetowej lub identyfikatora URI treści. „http://example.net/bob.jpg”
recipient.email Opcjonalny. Adres e-mail nadawcy. „bob@example.net”
recipient.telephone Opcjonalny. Numer telefonu nadawcy. „+16502530000”
recipient.isSelf Wskazanie, czy użytkownik jest odbiorcą. Wartość domyślna to fałsz. PRAWDA
messageAttachment Opcjonalny. Jeden lub wiele załączników do wiadomości.
messageAttachment.name Nazwa załącznika do wiadomości. "Naklejka"
messageAttachment.image Obraz przedstawiający załącznik. Można użyć adresu URL strony internetowej lub identyfikatora URI treści. „http://example.net/stickers/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 wiadomości e-mail użyj zamiast tego Indexables.emailMessageBuilder() . Nie ma różnicy w obsługiwanych polach, ale interfejs wyników będzie inny (np. podświetlenie tematu wiadomości e-mail).

Notatka

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

Nieruchomość Opis Przykład
url Adres URL prowadzący do notatki w aplikacji. „mojaaplikacja://notatki/42”
name Tytuł notatki lub bezpośrednio sam tekst notatki, jeśli nie ma ona osobnego tytułu. "Lista zakupów"
text Opcjonalny. Tekst notatki, jeśli dotyczy. W przypadku notatek bez osobnego tytułu użyj „nazwy” (patrz wyżej). "stek, makaron, wino"
image Obraz przedstawiający notatkę. Można użyć adresu URL strony internetowej lub identyfikatora URI treści. „http://example.net/zakupy.jpg”
dateCreated Czas utworzenia notatki. nowa data (2016, 6, 2, 23, 43, 00)
author Opcjonalny. Autor notatki.
author.name Nazwisko autora notatki. "Pion"

Przykład: Uwaga

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