Dizinlenebilir nesneler için ortak oluşturucular

Çıkartmalar

Bu, Gboard ile entegrasyon için çıkartmaları veya çıkartma paketlerini indekslerken dahil edilecek en önemli özelliklere genel bir bakıştır. Örnek için Github'daki Uygulama Dizine Ekleme örneğine bakın.

Mülk Tanım Örnek
name Arama için kullanılan ad veya anahtar kelime — görüntülenmiyor. "Snoopy Çıkartma Paketi"
url Uygulamadaki çıkartmaya veya çıkartma paketine bağlantı veren URL. "http://sticker/pack/canonical/url/snoopy"
image Çıkartma veya çıkartma paketi grafiği. En iyi görüntü kalitesi için 320 piksel veya 500 piksel boyutunda kare görüntüler kullanın. "http://link/to/the/image/bye"
description Çıkartmanız veya çıkartma paketiniz için erişilebilirlik etiketi. "Bir paket Snoopy çıkartması"

Örnek: Çıkartma paketi

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

Örnek: Bireysel çıkartma

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

İleti

Bu, bir mesajı dizine eklerken uygulama tarafından belirtilmesi gereken en önemli özelliklere genel bir bakıştır.

Mülk Tanım Örnek
url Uygulamadaki mesaja bağlantı veren URL. "uygulamam://mesajlar/42"
name İletinin konu satırı veya ayrı bir konu satırı yoksa doğrudan iletinin kendisi. "Yanıt: öğle yemeği"
text İsteğe bağlı. Varsa mesajın gövdesi. Ayrı bir konu satırı olmayan anlık mesajlaşma türü mesajlar için "ad" kullanın (yukarıya bakın). "Öğle yemeği için boş musun?"
dateReceived Gelen mesajlar için mesajın alındığı saat. yeni Tarih(2016, 6, 2, 23, 43, 00)
dateSent Giden mesajlar için mesajın gönderilme zamanı. yeni Tarih(2016, 6, 2, 23, 43, 00)
isPartOf.id İletinin parçası olduğu konuşmanın veya ileti dizisinin kimliği. "42"
sender Mesajın göndereni.
sender.name Gönderenin adı. "Alice"
sender.url İsteğe bağlı. Uygulamadaki kişiye bağlantı veren URL. "http://example.net/profiles/alice"
sender.image İsteğe bağlı. Gönderenin resmi. Bir web URL'si veya İçerik URI'si kullanılabilir. "http://example.net/alice.jpg"
sender.email İsteğe bağlı. Gönderenin e-posta adresi. "alice@example.net"
sender.telephone İsteğe bağlı. Gönderenin telefon numarası. "+16502530000"
sender.isSelf Kullanıcının gönderen olup olmadığının belirtilmesi. Varsayılan yanlıştır. YANLIŞ
recipient İletinin bir veya daha fazla alıcısı.
recipient.name Alıcının adı. "Bob"
recipient.url İsteğe bağlı. Uygulamadaki kişiye bağlantı veren URL. "http://example.net/profiles/bob"
recipient.image İsteğe bağlı. Alıcının bir görüntüsü. Bir web URL'si veya İçerik URI'si kullanılabilir. "http://example.net/bob.jpg"
recipient.email İsteğe bağlı. Gönderenin e-posta adresi. "bob@example.net"
recipient.telephone İsteğe bağlı. Gönderenin telefon numarası. "+16502530000"
recipient.isSelf Kullanıcının alıcı olup olmadığının belirtilmesi. Varsayılan yanlıştır. doğru
messageAttachment İsteğe bağlı. Mesajın bir veya daha fazla eki.
messageAttachment.name Mesajın ekinin adı. "Etiket"
messageAttachment.image Eki temsil eden bir resim. Bir web URL'si veya İçerik URI'si kullanılabilir. "http://example.net/stickers/23.png"

Örnek: Gelen mesaj

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

E-posta mesajları için bunun yerine Indexables.emailMessageBuilder() öğesini kullanın. Desteklenen alanlarda hiçbir fark yoktur ancak sonuç kullanıcı arayüzü farklı olacaktır (örn. e-postanın konu satırının vurgulanması).

Not

Bu, bir notu dizine eklerken uygulama tarafından belirtilmesi gereken en önemli özelliklere genel bir bakıştır.

Mülk Tanım Örnek
url Uygulamadaki nota bağlantı veren URL. "uygulamam://notlar/42"
name Notun başlığı veya ayrı bir başlığı yoksa doğrudan not metninin kendisi. "Alışveriş listesi"
text İsteğe bağlı. Varsa notun metni. Ayrı bir başlığı olmayan notlar için "ad"ı kullanın (yukarıya bakın). "biftek, makarna, şarap"
image Notu temsil eden bir resim. Bir web URL'si veya İçerik URI'si kullanılabilir. "http://example.net/shopping.jpg"
dateCreated Notun oluşturulma zamanı. yeni Tarih(2016, 6, 2, 23, 43, 00)
author İsteğe bağlı. Notun yazarı.
author.name Notun yazarının adı. "Bob"

Örnek: Not

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