منشئون مشتركون للكائنات القابلة للفهرسة

ملصقات

هذه نظرة عامة على أهم الخصائص التي يجب تضمينها عند فهرسة الملصقات أو حزم الملصقات للتكامل مع 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/profiles/alice"
sender.image خياري. صورة للمرسل . يمكن استخدام إما عنوان URL للويب أو URI للمحتوى. "http://example.net/alice.jpg"
sender.email خياري. عنوان البريد الإلكتروني للمرسل. "alice@example.net"
sender.telephone خياري. رقم هاتف المرسل. "+16502530000"
sender.isSelf إشارة إلى ما إذا كان المستخدم هو المرسل. الافتراضي هو خطأ. خطأ شنيع
recipient واحد أو عدة مستلمين للرسالة.
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 خياري. مرفق واحد أو عدة مرفقات بالرسالة.
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() بدلاً من ذلك. لا يوجد اختلاف في الحقول المدعومة، ولكن واجهة المستخدم للنتيجة ستكون مختلفة (على سبيل المثال، تسليط الضوء على سطر الموضوع في البريد الإلكتروني).

ملحوظة

هذه نظرة عامة على أهم الخصائص التي يجب أن يحددها التطبيق عند فهرسة الملاحظة.

ملكية وصف مثال
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();