インデックス登録可能なオブジェクトの一般的なビルダー

ステッカー

ここでは、ステッカーやインデックス登録の際に含めるべき最も重要なプロパティの概要を説明します。 Gboard 向けのステッカー パックもあります。詳しくは、 App Indexing のサンプル をご覧ください。

プロパティ 説明
name 検索に使用する名前またはキーワード - 表示されません。 "スヌーピーのステッカー パック"
url アプリ内のステッカーまたはステッカー パックにリンクする URL。 「http://sticker/pack/canonical/url/snoopy」
image ステッカーまたはステッカー パックの画像。最適な画質を得るには、320 のスクエア画像を使用してください 500 ピクセル以上です 「http://link/to/the/image/bye」
description ステッカーまたはステッカー パックのユーザー補助ラベル。 「スヌーピーのステッカーのパック」

例: ステッカー パック

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

例: 個別のステッカー

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

メッセージ

ここでは、メッセージをインデックス登録する際にアプリで指定する必要のある最も重要なプロパティの概要を説明します。

プロパティ 説明
url アプリ内のメッセージにリンクする URL。 「myapp://messages/42」
name メールの件名。別の件名がない場合はメール自体を直接指定します。 「Re: 昼食」
text 省略可。メッセージの本文(該当する場合)。別の件名がないインスタント メッセージ メッセージの場合は、「名前」を使用します。(上記参照)。 「昼食は空いている?」
dateReceived メッセージを受信した時刻です。 新しい日付(2016, 6, 2, 23, 43, 00)
dateSent メッセージが送信された時刻(送信メッセージの場合)。 新しい日付(2016, 6, 2, 23, 43, 00)
isPartOf.id メッセージが含まれている会話またはスレッドの ID。 「42」
sender メッセージの送信者。
sender.name 送信者の名前。 "アリス"
sender.url 省略可。アプリ内のユーザーにリンクしている URL。 「http://example.net/profiles/alice」
sender.image 省略可。送信者の画像。ウェブ URL またはコンテンツ URI を使用できます。 「http://example.net/alice.jpg」
sender.email 省略可。送信者のメールアドレス。 「alice@example.net」
sender.telephone 省略可。送信者の電話番号。 「+16502530000」
sender.isSelf ユーザーが送信者かどうかを示します。デフォルトは false です。 false
recipient メールの受信者(1 人または複数)。
recipient.name 受信者の名前。 「ボブ」
recipient.url 省略可。アプリ内のユーザーにリンクしている URL。 http://example.net/profiles/bob
recipient.image 省略可。受取人の画像。ウェブ URL またはコンテンツ URI を使用できます。 「http://example.net/bob.jpg」
recipient.email 省略可。送信者のメールアドレス。 「bob@example.net」
recipient.telephone 省略可。送信者の電話番号。 「+16502530000」
recipient.isSelf ユーザーが受信者であるかどうか。デフォルトは false です。 true
messageAttachment 省略可。メールに 1 つまたは複数の添付ファイル。
messageAttachment.name メッセージの添付ファイルの名前。 「ステッカー」
messageAttachment.image 添付ファイルを表す画像。ウェブ URL またはコンテンツ URI を使用できます。 「http://example.net/stickers/23.png」

例: 受信メッセージ

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

メール メッセージの場合は、代わりに Indexables.emailMessageBuilder() を使用します。「 サポートされるフィールドには違いがありますが、結果の UI は異なります(例: 。

ここでは、メモをインデックスに登録する際にアプリで指定する必要のある最も重要なプロパティの概要を説明します。

プロパティ 説明
url アプリ内のメモにリンクする URL。 「myapp://notes/42」
name メモのタイトル。別のタイトルがない場合はメモのテキスト自体を直接指定します。 「ショッピング リスト」
text 省略可。メモのテキスト(該当する場合)。別のタイトルのないメモには「名前」を使用します(上記参照)。 「ステーキ、パスタ、ワイン」
image メモを表す画像。ウェブ URL またはコンテンツ URI を使用できます。 「http://example.net/shopping.jpg」
dateCreated メモの作成時刻。 新しい日付(2016, 6, 2, 23, 43, 00)
author 省略可。メモの作成者。
author.name メモの作成者の名前。 「ボブ」

例: メモ

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