朗讀功能

「朗讀」是 Google 助理功能,適用於搭載下列產品的 Android 裝置: 讀者能以另一種方式閱讀長篇網路內容 網誌文章。使用者只要說「Ok Google,朗讀內容」這類指令,就能取得應用程式 朗讀網路內容、醒目顯示正在朗讀的字詞,以及自動捲動 該網頁。如要進一步瞭解這項功能,您也可以參閱 閱讀這項產品的產品更新文章

系統提示時,應用程式會透過以下提示朗讀畫面上的網頁內容:
            會藉助 Google 助理
圖 1. 聆聽應用程式朗讀網頁內容。

含有網路內容的 Android 應用程式可提供資訊來支援 Read It 功能 使用 onProvideAssistContent() 方法連線至 Google 助理。

這個程序有助於維護資料結構,因為資料會與 「Google 助理」。然後將收到分享應用程式內容的使用者設為深層連結,或是 接收內容,而不是以文字或螢幕截圖的形式接收資料。

針對任何網路內容實作 onProvideAssistContent() 和應用程式中任何可分享的 entity

提供內容給 Google 助理

如要讓「朗讀」功能存取內容,應用程式必須提供 Google 助理 例如網路 URI 和一些基本背景資訊。 然後 Google 助理可擷取你的內容,以便大聲朗讀。

適用對象 已使用 WebView 導入網路內容的 Android 應用程式; Chrome 自訂分頁 起點

將 Read It 功能與內建意圖結合時,您只需要 為使用者的最終應用程式活動實作 onProvideAssistContent() 啟動應用程式動作後的工作流程

舉例來說,如果您的應用程式在 新聞報導,在最後一個畫面中實作 onProvideAssistContent() 顯示文章;您不需要在任何 預覽畫面

AssistContenturi 欄位中,為您的內容提供網路 URI。 以 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 (只有在內容是可藉由網址存取時才是必填資訊)

如要進一步瞭解如何使用 onProvideAssistContent(),請參閱 「為 Google 助理最佳化背景內容」指南,請參閱: 請參閱 Android 開發人員說明文件