سازندگان متداول برای اشیاء Indexable

استیکرها

این یک نمای کلی از مهم‌ترین ویژگی‌هایی است که باید هنگام فهرست‌بندی برچسب‌ها یا بسته‌های برچسب برای ادغام با Gboard لحاظ شوند. برای نمونه به نمونه App Indexing در 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 خط موضوع پیام، یا مستقیماً خود پیام، اگر موضوع جداگانه ای نداشته باشد. "Re: ناهار"
text اختیاری. متن پیام، در صورت وجود. برای نوع پیام‌رسانی فوری پیام‌های بدون خط موضوع جداگانه، از «نام» استفاده کنید (به بالا مراجعه کنید). "آیا برای ناهار آزاد هستی؟"
dateReceived زمان دریافت پیام، برای پیام های دریافتی. تاریخ جدید (2016, 6, 2, 23, 43, 00)
dateSent زمان ارسال پیام، برای پیام های خروجی. تاریخ جدید (2016, 6, 2, 23, 43, 00)
isPartOf.id شناسه مکالمه یا رشته ای که پیام بخشی از آن است. "42"
sender فرستنده پیام.
sender.name نام فرستنده. "آلیس"
sender.url اختیاری. نشانی اینترنتی مرتبط با شخص در برنامه. "http://example.net/profiles/alice"
sender.image اختیاری. تصویری از فرستنده ممکن است از یک URL وب یا Content URI استفاده شود. "http://example.net/alice.jpg"
sender.email اختیاری. آدرس ایمیل فرستنده. "alice@example.net"
sender.telephone اختیاری. شماره تلفن فرستنده "+16502530000"
sender.isSelf نشان دادن اینکه آیا کاربر فرستنده است یا خیر. حالت پیش فرض غلط است. نادرست
recipient یک یا چند گیرنده پیام.
recipient.name نام گیرنده. "باب"
recipient.url اختیاری. نشانی اینترنتی مرتبط با شخص در برنامه. "http://example.net/profiles/bob"
recipient.image اختیاری. تصویری از گیرنده ممکن است از یک URL وب یا Content URI استفاده شود. "http://example.net/bob.jpg"
recipient.email اختیاری. آدرس ایمیل فرستنده. "bob@example.net"
recipient.telephone اختیاری. شماره تلفن فرستنده "+16502530000"
recipient.isSelf نشان دادن اینکه آیا کاربر گیرنده است یا خیر. حالت پیش فرض غلط است. درست است، واقعی
messageAttachment اختیاری. یک یا چند پیوست به پیام.
messageAttachment.name نام پیوست پیام. "استیکر"
messageAttachment.image تصویری که پیوست را نشان می دهد. ممکن است از یک URL وب یا Content 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() استفاده کنید. هیچ تفاوتی در فیلدهای پشتیبانی شده وجود ندارد، اما رابط کاربری نتیجه متفاوت خواهد بود (به عنوان مثال برجسته کردن خط موضوع ایمیل).

توجه داشته باشید

این یک نمای کلی از مهم‌ترین ویژگی‌هایی است که باید توسط یک برنامه هنگام نمایه‌سازی یک یادداشت مشخص شود.

ویژگی شرح مثال
url آدرس اینترنتی که به یادداشت در برنامه پیوند می‌یابد. "myapp://notes/42"
name عنوان یادداشت، یا مستقیماً خود متن یادداشت، اگر عنوان جداگانه ای نداشته باشد. "لیست خرید"
text اختیاری. متن یادداشت، در صورت وجود. برای یادداشت های بدون عنوان جداگانه، از "نام" استفاده کنید (به بالا مراجعه کنید). "استیک، پاستا، شراب"
image تصویری که نشان دهنده یادداشت است. ممکن است از یک URL وب یا Content 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();