เครื่องมือสร้างทั่วไปสำหรับออบเจ็กต์ที่จัดทำดัชนีได้

สติกเกอร์

นี่คือภาพรวมของพร็อพเพอร์ตี้ที่สำคัญที่สุดที่ต้องรวมไว้เมื่อจัดทำดัชนีสติกเกอร์หรือ ชุดสติกเกอร์สำหรับการผสานรวมกับ Gboard โปรดดู ตัวอย่างการจัดทำดัชนีแอป ใน GitHub เป็นตัวอย่าง

พร็อพเพอร์ตี้ คำอธิบาย ตัวอย่าง
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 บรรทัดเรื่องของข้อความ หรือข้อความโดยตรงในกรณีที่ไม่มีบรรทัดเรื่องแยกต่างหาก "อ้างถึง: มื้อกลางวัน"
text ไม่บังคับ เนื้อหาของข้อความ (หากมี) สำหรับข้อความประเภทการรับส่งข้อความโต้ตอบแบบทันทีโดยไม่มีบรรทัดเรื่องแยกต่างหาก ให้ใช้ "ชื่อ" (ดูด้านบน) "อาหารกลางวันคุณว่างไหม"
dateReceived เวลาที่ได้รับข้อความสำหรับข้อความขาเข้า วันที่ใหม่(2016, 6, 2, 23, 43, 00)
dateSent เวลาที่ส่งข้อความสำหรับข้อความขาออก วันที่ใหม่(2016, 6, 2, 23, 43, 00)
isPartOf.id รหัสของการสนทนาหรือชุดข้อความที่มีข้อความนั้นอยู่ "42"
sender ผู้ส่งข้อความ
sender.name ชื่อผู้ส่ง "อลิซ"
sender.url ไม่บังคับ URL ที่ลิงก์ไปยังบุคคลในแอป "http://example.net/profile/alice"
sender.image ไม่บังคับ รูปภาพของผู้ส่ง อาจใช้ URL ของเว็บหรือ URI เนื้อหาก็ได้ "http://example.net/alice.jpg"
sender.email ไม่บังคับ อีเมลของผู้ส่ง "alice@example.net"
sender.telephone ไม่บังคับ หมายเลขโทรศัพท์ของผู้ส่ง "+16502530000"
sender.isSelf ตัวระบุว่าผู้ใช้เป็นผู้ส่งหรือไม่ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เท็จ
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 ตัวระบุว่าผู้ใช้เป็นผู้รับหรือไม่ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" จริง
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();