שיתוף עם Assistant

משתמשים בטלפונים עם Android יכולים לבקש מ-Google Assistant לשתף תוכן של אפליקציה עם משתמש אחר באמצעות פקודה קולית כמו "Ok Google, send this to Jane". מבוסס באפשרויות המערכת של המשתמש הראשון, Assistant יכולה לשלב לאחר מכן טקסט במסך או בצילום מסך של מכשיר בתוכן המשותף.

כש-Assistant מוסיפה את התמונה שנבחרה להודעה
            כשמוצגת ההודעה.
איור 1. Assistant משתפת תמונה עם איש קשר.

שיטת שיתוף זו מספיקה על פי רוב, אך משתמשים שמקבלים תוכן שותפו מהאפליקציה עשויה לא להזין מחדש את האפליקציה כדי לצפות בתוכן. אפשר לספק Assistant עם מידע מובנה על התוכן הנוכחי בחזית מאת מטמיעים את השיטה onProvideAssistContent().

התהליך הזה עוזר לשמור על מבנה הנתונים בזמן שהם משותפים משתמש. משתמשים שמקבלים תוכן משותף מאפליקציה יכולים לקבל קישור עומק או תוכן ישירות, במקום לקבל טקסט או צילום מסך.

הטמעה של onProvideAssistContent() בכל כלי שניתן לשתף entity באפליקציה.

מסירת תוכן ל-Assistant

צריך להטמיע את onProvideAssistContent() רק לפעילות האחרונה באפליקציה בתהליך המשימות של המשתמש, אחרי שמפעילים את פעולת האפליקציה. לדוגמה, בתהליך GET_ITEM_LIST, מטמיעים את השיטה במסך הסופי שבו מוצגת רשימת הפריטים. אין צורך להטמיע אותה במסכים של תהליך או תצוגה מקדימה.

מספקים מידע לפי הקשר כאובייקט JSON-LD באמצעות אוצר המילים של schema.org בשדה structuredData של AssistContent. קטע הקוד הבא מציג דוגמה לרישום ביומן של תוכן לפי הקשר:

קוטלין
override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // JSON-LD object based on Schema.org structured data
    outContent.structuredData = JSONObject()
            .put("@type", "ItemList")
            .put("name", "My Work items")
            .put("url", "https://my-notes-and-lists.com/lists/12345a")
            .toString()
}
      
Java
@Override
public void onProvideAssistContent(AssistContent outContent) {
  super.onProvideAssistContent(outContent);

  // JSON-LD object based on Schema.org structured data
  outContent.structuredData = new JSONObject()
          .put("@type", "ItemList")
          .put("name", "My Work items")
          .put("url", "https://my-notes-and-lists.com/lists/12345a")
          .toString();
}
      

כדאי לספק כמה שיותר נתונים לגבי כל entity. חובה למלא את השדות הבאים:

  • @type
  • .name
  • .url (חובה רק אם התוכן ניתן לכתובת URL)

למידע נוסף על השימוש ב-onProvideAssistContent(), אפשר לעיין במדריך אופטימיזציה של תוכן לפי הקשר ל-Assistant.