อ่านเลย

Read It คือฟีเจอร์ของ Google Assistant ที่พร้อมใช้งานในอุปกรณ์ Android ที่มอบ อีกวิธีเพื่อให้ผู้ใช้อ่านเนื้อหาเว็บแบบยาว เช่น บทความข่าวและ บล็อกโพสต์ ผู้ใช้สามารถพูดประมาณว่า "Ok Google อ่านหน่อย" เพื่อให้มีแอป อ่านออกเสียงเนื้อหาบนเว็บ ไฮไลต์คำที่อ่าน และเลื่อนอัตโนมัติ หน้าเว็บ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับฟีเจอร์นี้ คุณสามารถอ่าน โพสต์อัปเดตผลิตภัณฑ์ Read It

วันที่ เมื่อได้รับข้อความแจ้ง แอปจะอ่านเนื้อหาเว็บบนหน้าจอแบบออกเสียงด้วย
            ความช่วยเหลือจาก Google Assistant
รูปที่ 1 การฟังแอปอ่านออกเสียงเนื้อหาเว็บ

แอป Android ที่มีเนื้อหาแบบเว็บสามารถรองรับ Read It โดยให้ข้อมูล ไปยัง Assistant โดยใช้เมธอด onProvideAssistContent()

กระบวนการนี้จะช่วยรักษาโครงสร้างของข้อมูลเมื่อมีการแชร์กับ Assistant ผู้ใช้ที่ได้รับเนื้อหาแอปที่แชร์จะสามารถทำ Deep Link หรือ รับเนื้อหาโดยตรง แทนที่จะรับเป็นข้อความหรือภาพหน้าจอ

นำ onProvideAssistContent() ไปใช้กับเนื้อหาบนเว็บ และ entity ที่แชร์ได้ในแอปของคุณ

ให้เนื้อหาแก่ Assistant

เพื่อให้ "อ่านได้" เข้าถึงเนื้อหาได้ แอปของคุณต้องให้ Assistant ข้อมูลเกี่ยวกับเนื้อหา เช่น URI เว็บและบริบทพื้นฐานบางอย่าง จากนั้น Assistant จะสามารถเรียกดูเนื้อหาเพื่อให้ระบบอ่านออกเสียงให้ผู้ใช้ฟัง

สำหรับ แอป Android ที่ใช้เนื้อหาบนเว็บอยู่แล้วโดยใช้ WebView หรือ Chrome Custom Tabs ใช้ URI เว็บเดียวกันสำหรับ Read It เป็น จุดเริ่มต้น

เมื่อรวมฟังก์ชัน "อ่านเลย" เข้ากับ Intent ในตัว คุณเพียงแค่ ใช้ 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