5

バックグラウンド

私は、特定のクエリ (電話番号のクエリ、およびその他のクエリ) に応答できるアプリに取り組んでいます。

Google は Android 6 に「Google Now On Tap」(別名「Assist API」)と呼ばれる新機能を導入しました。これにより、ユーザーは画面に表示されているものについてクエリを実行できます(ホームボタンを長押しするか、何かを入力する必要はありません。

Google はそのための開発者向けチュートリアルを提供しています。

問題

アプリを準備する方法を示すコード スニペットが見つかりません。

私が気付いた唯一のことは、 Application クラスから拡張し、内部に OnProvideAssistDataListener を追加して登録できることです。

しかし、それを行う方法について多くの疑問が生じます。

悲しいことに、このトピックはとても新しいので、私はそれについてほとんど何も見つけることができないので、ここで質問したいと思います.

質問

1) この新機能のサンプル、または少なくともより説明されたチュートリアルはありますか?

2) ドキュメントには次のように書かれています。

ほとんどの場合、アクセシビリティ サポートを実装すると、アシスタントは必要な情報を取得できるようになります。これには、android:contentDescription 属性の提供、カスタム ビューの AccessibilityNodeInfo の入力、カスタム ViewGroup が子を正しく公開することの確認、および「アプリケーションをアクセス可能にする」で説明されているベスト プラクティスに従うことが含まれます。

アプリのアクセシビリティ機能と連携する理由と方法は? 子ビュー (またはまったくビュー) を公開することと何の関係がありますか? アプリがまだ実行されていない場合、ビューについてもどうすればよいでしょうか (この機能は、どこのアプリでもアクティブ化されているため)。

これは、フォアグラウンド アプリが自分のアプリである場合にのみ呼び出されると思いますが、この方法の場合、入力内容に応じて、すべてのアプリに表示されるクエリを実際に提供するにはどうすればよいでしょうか?

3) Application から拡張されたクラスは OnProvideAssistDataListener を実装することになっていますか? もしそうなら、なぜそれに登録する必要があるのですか?そうでない場合、Google-Now-On-Tap がどのように動作するのでしょうか? そのようなクラスを持つすべてのアプリを開いて、それらが登録されているかどうかを確認することはできません...

4) ドキュメントには、私が理解できなかったサンプル スニペットがあります。

@Override
public void onProvideAssistContent(AssistContent assistContent) {
  super.onProvideAssistContent(assistContent);

  String structuredJson = new JSONObject()
       .put("@type", "MusicRecording")
       .put("@id", "example.comhttps://example.com/music/recording")
       .put("name", "Album Title")
       .toString();

  assistContent.setStructuredData(structuredJson);
}

新機能は各キーで何をしますか? アプリまたは Google-Now-On-Tap で使用されていますか? それについての私のオプションは何ですか?機能が提案するコンテンツをアプリが処理できるかどうかを定義する場所はここですか? AssistContent は、私が見て、アプリがそれを処理できるか無視できるかを判断する入力になるはずですか?

4

0 に答える 0