Read It هي إحدى ميزات "مساعد Google" المتوفّرة على أجهزة Android التي توفّر طريقة أخرى للمستخدمين لقراءة محتوى الويب الطويل مثل المقالات الإخبارية مشاركات المدونة. يمكن للمستخدمين قول "Ok Google، أريد قراءة الرسالة" للحصول على تطبيق قراءة المحتوى المستند إلى الويب بصوت عالٍ وتمييز الكلمات التي تتم قراءتها والتمرير التلقائي الصفحة. لمزيد من المعلومات عن هذه الميزة، يمكنك أيضًا قراءة مشاركة جديدة حول منتج Read It
يمكن لتطبيقات Android التي تتضمّن محتوى مستنِدًا إلى الويب دعم ميزة "القراءة" من خلال توفير المعلومات
إلى "مساعد Google" باستخدام الطريقة onProvideAssistContent()
.
تساعد هذه العملية في الحفاظ على هيكل البيانات كما تتم مشاركتها مع مساعد Google ويمكن بعد ذلك ربط المستخدمين الذين يتلقون محتوى التطبيق المشترك بالتطبيق أو تلقّي المحتوى مباشرةً، بدلاً من إرساله كنص أو لقطة شاشة
تنفيذ السمة onProvideAssistContent()
لأي محتوى مستنِد إلى الويب
وأي entity
قابل للمشاركة في تطبيقك.
تقديم المحتوى إلى "مساعد Google"
ليتمكّن تطبيق Read It من الوصول إلى المحتوى، يجب أن يوفّر التطبيق لخدمة "مساعد Google" معلومات حول المحتوى، مثل عنوان URI على الويب وبعض السياقات الأساسية. ويمكن لخدمة "مساعد Google" بعد ذلك استرداد المحتوى ليتمكن المستخدم من قراءته بصوت عالٍ.
بالنسبة تطبيقات Android التي تنفّذ حاليًا محتوى مستنِدًا إلى الويب باستخدام مكوّنات WebView أو علامات التبويب المخصصة في Chrome، استخدم نفس معرفات الموارد المنتظمة (URI) للويب لـ 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.