הקראה

Read It היא תכונה של Google Assistant שזמינה במכשירי Android שמציעה דרך נוספת שבה משתמשים יכולים לקרוא תוכן אינטרנט ארוך, כמו כתבות פוסטים בבלוגים. כדי להתקין אפליקציה, משתמשים יכולים לומר משהו כמו "Ok Google, read it" הקראה בקול של תוכן מבוסס אינטרנט, הדגשת המילים שנקראות וגלילה אוטומטית הדף. כדי לקבל מידע נוסף על התכונה הזו, אפשר גם לקרוא את המאמר לקריאת הפוסט על עדכון המוצר

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

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

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

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

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

כדי שהתכונה 'הקראה' תוכל לגשת לתוכן שלך, האפליקציה צריכה לספק ל-Assistant עם מידע על התוכן, כגון ה-URI שלו והקשר בסיסי. לאחר מכן, Assistant יכולה לאחזר את התוכן שלך כדי להקריא למשתמש אותו.

עבור אפליקציות ל-Android שכבר מטמיעות תוכן מבוסס-אינטרנט באמצעות WebViews או בכרטיסיות המותאמות אישית ב-Chrome, משתמשים באותם מזהי URI של אינטרנט עבור 'קריאה' לנקודת ההתחלה.

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

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

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

קטע הקוד הבא מציג דוגמה לשליחת תוכן ל-Assistant:

Kotlin

override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // Set the web URI for content to be read from a
    // WebView, Chrome Custom Tab, or other source
    val urlString = url.toString()
    outContent.setWebUri(Uri.parse(urlString))

    // Create JSON-LD object based on schema.org structured data
    val structuredData = JSONObject()
        .put("@type", "Article")
        .put("name", "ExampleName of blog post")
        .put("url", outContent.getWebUri())
        .toString()
    outContent.setStructuredData(structuredData)
}

Java

@Override
public void onProvideAssistContent(AssistContent outContent) {

  // Set the web URI for content to be read from a
  // WebView, Chrome Custom Tab, or other source
  String urlString = url.toString();
  outContent.setWebUri(Uri.parse(urlString));

  try {
      // Create JSON-LD object based on schema.org structured data
      String structuredData = new JSONObject()
          .put("@type", "Article")
          .put("name", "ExampleName of blog post")
          .put("url", outContent.getWebUri())
          .toString();
      outContent.setStructuredData(structuredData);
  } catch (JSONException ex) {
      // Handle exception
      Log.e(TAG, ex.getMessage());
  }

  super.onProvideAssistContent(outContent);
}

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

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

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