القراءة بصوت عالٍ

Read It هي إحدى ميزات "مساعد Google" المتوفرة على أجهزة Android، وهي توفّر طريقة أخرى للمستخدمين لقراءة المحتوى الطويل على الويب، مثل المقالات الإخبارية ومشاركات المدونات. يمكن للمستخدمين قول عبارة مثل "Ok Google، أريد قراءتها" لتشجيع التطبيق على قراءة المحتوى المستند إلى الويب بصوت عالٍ وتمييز الكلمات التي تتم قراءتها والتمرير التلقائي للصفحة. للاطّلاع على مزيد من المعلومات حول هذه الميزة، يمكنك أيضًا قراءة مشاركة قراءة آخر أخبار المنتجات.

يقرأ التطبيق محتوى الويب على الشاشة بصوت عالٍ عندما يُطلب منك ذلك،
            بمساعدة "مساعد Google".
الشكل 1. عند الاستماع إلى تطبيق، يقرأ محتوى الويب بصوت عالٍ.

يمكن لتطبيقات Android التي تتضمّن محتوى مستندًا إلى الويب إتاحة ميزة Read It من خلال تقديم معلومات إلى "مساعد Google" باستخدام طريقة onProvideAssistContent().

وتساعد هذه العملية في الحفاظ على بنية البيانات أثناء مشاركتها مع "مساعد Google". يمكن للمستخدمين الذين يتلقون محتوى مشترك من التطبيق إجراء ربط لصفحة في التطبيق أو استلام المحتوى مباشرةً، بدلاً من كتابة نص أو لقطة شاشة.

نفِّذ onProvideAssistContent() لأي محتوى يستند إلى الويب وأي محتوى entity قابل للمشاركة في تطبيقك.

تقديم المحتوى إلى "مساعد Google"

ليتمكن تطبيق Read It من الوصول إلى المحتوى الذي تقدّمه، يجب أن يقدّم تطبيقك إلى "مساعد Google" معلومات عن المحتوى، مثل معرّف الموارد المنتظم (URI) على الويب الخاص به وبعض السياق الأساسي. يستطيع "مساعد Google" بعد ذلك استرداد المحتوى لقرأه المستخدم بصوت عالٍ.

بالنسبة إلى تطبيقات Android التي تنفّذ محتوى يستند إلى الويب باستخدام WebView أو علامات تبويب Chrome المخصّصة، استخدِم معرّفات الموارد المنتظمة (URI) نفسها على الويب لتطبيق Read It كنقطة بداية.

عند الجمع بين وظيفة Read It والأغراض المضمّنة، ما عليك سوى تنفيذ onProvideAssistContent() للنشاط النهائي على التطبيق ضمن مسار مهام المستخدم بعد استدعاء مهمة التطبيق.

على سبيل المثال، إذا كان تطبيقك يعرض مقالات إخبارية، نفِّذ onProvideAssistContent() في الشاشة النهائية التي تعرض المقالة، ولن تحتاج إلى تطبيقها على أي شاشات قيد التقدم أو المعاينة.

عليك توفير معرّف موارد منتظم (URI) على الويب للمحتوى الخاص بك في الحقل uri من AssistContent. وقدِّم معلومات سياقية ككائن JSON-LD باستخدام مفردات schema.org في الحقل structuredData.

يعرض مقتطف الرمز التالي مثالاً على تقديم المحتوى إلى "مساعد Google":

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()، يمكنك الاطّلاع على دليل تحسين المحتوى السياقي في "مساعد Google" ضمن مستندات مطوّري برامج Android.