أدوات الإنشاء الشائعة للكائنات القابلة للفهرسة

الملصقات

هذه نظرة عامة على أهم الخصائص التي يجب تضمينها عند فهرسة الملصقات أو حِزم ملصقات للدمج مع Gboard. يمكنك الاطّلاع على نموذج "فهرسة التطبيقات" على جيت هب كمثال.

الموقع الوصف مثال
name الاسم أو الكلمة الرئيسية المستخدمة في البحث — غير معروضة. "حزمة ملصقات سنوبي"
url عنوان URL ينقل إلى الملصق أو حزمة الملصقات في التطبيق "http://sticker/pack/canonical/url/snoopy"
image رسم ملصق أو حزمة الملصقات للحصول على جودة صورة مثالية، استخدِم صورًا مربّعة بحجم 320. بكسل أو 500 بكسل. "http://link/to/the/image/bye"
description ملصق تسهيل الاستخدام الخاص بحزمة الملصق أو مجموعة الملصقات "مجموعة من ملصقات Snoopy"

مثال: مجموعة الملصقات

// 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 اختياري. نص الرسالة، إذا كان ذلك منطبقًا. بالنسبة إلى نوع الرسائل الفورية من الرسائل التي لا تحتوي على سطر موضوع منفصل، استخدِم "name" (انظر أعلاه). "هل أنت حر على الغداء؟"
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/files/alice"
sender.image اختياري. صورة المُرسِل يمكن استخدام عنوان URL على الويب أو Content URI. "http://example.net/alice.jpg"
sender.email اختياري. عنوان البريد الإلكتروني للمرسِل. "alice@example.net"
sender.telephone اختياري. رقم هاتف المُرسِل. " +16502530000"
sender.isSelf إشارة إلى ما إذا كان المستخدم هو المُرسِل وتكون القيمة التلقائية false. خطأ
recipient مستلِم واحد أو أكثر للرسالة.
recipient.name اسم المستلِم "بوب"
recipient.url اختياري. عنوان URL الذي يؤدي إلى المستخدم في التطبيق. "http://example.net/files/bob"
recipient.image اختياري. صورة للمُستلِم. يمكن استخدام عنوان URL على الويب أو Content URI. "http://example.net/bob.jpg"
recipient.email اختياري. عنوان البريد الإلكتروني للمرسِل. "bob@example.net"
recipient.telephone اختياري. رقم هاتف المُرسِل. " +16502530000"
recipient.isSelf إشارة إلى ما إذا كان المستخدم هو المستلِم وتكون القيمة التلقائية false. صحيح
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 عنوان URL الذي يؤدي إلى الملاحظة في التطبيق. "myapp://notes/42"
name تمثّل هذه السمة عنوان الملاحظة أو نص الملاحظة نفسه مباشرةً إذا لم يكن لها عنوان منفصل. "قائمة التسوّق"
text اختياري. تمثّل هذه السمة نص الملاحظة، إذا كان ذلك منطبقًا. بالنسبة إلى الملاحظات التي لا تتضمّن عنوانًا منفصلاً، استخدِم "name" (انظر أعلاه). "شريحة لحم، معكرونة، نبيذ"
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();