Sesli Oku

Read It, Android cihazlarda kullanıma sunulan bir Google Asistan özelliğidir ve kullanıcıların haber makaleleri ve blog yayınları gibi uzun süreli web içeriklerini okumaları için farklı bir yol sunar. Kullanıcılar bir uygulamanın web tabanlı içeriği sesli okumasını, okunan kelimeleri vurgulamasını ve sayfayı otomatik olarak kaydırmasını sağlamak için "Ok Google, oku" gibi bir komut söyleyebilir. Bu özellik hakkında daha fazla bilgi edinmek için Ürün güncellemesi yayınını okuyun.

İstendiğinde, bir uygulama Google Asistan'ın yardımıyla ekrandaki web içeriğini sesli okur.
Şekil 1. Bir uygulamayı dinlerken web içeriğini sesli okumak.

Web tabanlı içeriğe sahip Android uygulamaları, onProvideAssistContent() yöntemini kullanarak Asistan'a bilgi sağlayarak Read It'i destekleyebilir.

Bu işlem, Asistan'la paylaşılan verilerin yapısını korumaya yardımcı olur. Paylaşılan uygulama içeriğini alan kullanıcılar daha sonra metin ya da ekran görüntüsü yerine derin bağlantılı olabilir veya içeriği doğrudan alabilir.

Tüm web tabanlı içerikler ve uygulamanızdaki paylaşılabilir entity öğeleri için onProvideAssistContent() uygulayın.

Asistan'a içerik sağla

Read It'in içeriğinize erişebilmesi için uygulamanızın Asistan'a içerik hakkında web URI'si ve bazı temel bağlam gibi bilgiler sağlaması gerekir. Asistan, kullanıcıya sesli okunması için içeriğinizi alabilir.

Web Görünümlerini veya Chrome Özel Sekmelerini kullanarak web tabanlı içerik uygulamakta olan Android uygulamalarında başlangıç noktası olarak Okuma için aynı web URI'lerini kullanın.

Oku işlevini yerleşik niyetlerle birleştirdiğinizde, yalnızca Uygulama İşlemini çağırdıktan sonra kullanıcının görev akışındaki nihai uygulama etkinliği için onProvideAssistContent() uygulamanız gerekir.

Örneğin, uygulamanızda haber makaleleri gösteriliyorsa, makaleyi gösteren son ekranda onProvideAssistContent() kodunu uygulayın. Devam eden veya önizleme ekranlarında bunu uygulamanız gerekmez.

AssistContent öğesinin uri alanında içeriğiniz için bir web URI'si sağlayın. structuredData alanında schema.org sözlüğünü kullanarak bağlamsal bilgileri JSON-LD nesnesi olarak sağlayın.

Aşağıdaki kod snippet'inde Asistan'a içerik sağlamayla ilgili bir örnek gösterilmektedir:

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() uygulamasını uygularken her bir entity için mümkün olduğunca fazla veri sağlayın. Aşağıdaki alanlar zorunludur:

  • @type
  • .name
  • .url (yalnızca içerik URL ile ele alınabiliyorsa gereklidir)

onProvideAssistContent() kullanımı hakkında daha fazla bilgi için Android geliştirici dokümanlarındaki Asistan İçin Bağlama Dayalı İçeriği Optimize Etme kılavuzuna bakın.