Googleアシスタントの音声コマンドを使用して、Androidアプリ(「開始」、「停止」)の一部の機能を起動できるようにしたい。
統合しましたactions.intent.OPEN_APP_FEATURE
をアプリに追加し、Android Studioのアプリアクションテストツールで正常にテストしました。
ぼくの actions.xml
:
<?xml version="1.0" encoding="utf-8"?>
<actions>
<action intentName="actions.intent.OPEN_APP_FEATURE">
<fulfillment urlTemplate="http://www.my-app.com/{?featureName}">
<parameter-mapping
intentParameter="feature"
urlParameter="featureName" />
</fulfillment>
<parameter name="feature">
<entity-set-reference entitySetId="FeatureEntitySet" />
</parameter>
</action>
<entity-set entitySetId="FeatureEntitySet">
<entity
name="@string/start_capture"
identifier="START" />
<entity
name="@string/stop_capture"
identifier="STOP" />
</entity-set>
</actions>
「Open from myApp」のようなものをGoogleアシスタントに尋ねたところ、アプリアクションテストツール(アプリの機能を開く)を介してテストする場合と同じ動作を期待していましたが、代わりにGoogleアシスタントが一般的なウェブ結果を提供します。
OPEN_APP_FEATURE のドキュメントに従って:
サポートされるエンティティ
feature
のエンティティを指定する必要があります。
したがって、アプリがfeature
パラメーターに対してサポートする値を inline inventory を使用して提供することを試みる必要があります。これにより、そのパラメーターに期待される値をアシスタントに指示できます。サンプルアプリ here にもこの例があります。
ドキュメントには、これをテストする方法をより適切にガイドするためのサンプルクエリが必ず含まれている必要があります(これを更新できるかどうかを確認します)。
私はあなたがテストしているものがうまくいくはずだと信じています-「MyAppで[機能を開く]」。音声では機能しないが、テストツールでは機能する場合は、バグである可能性があります。確認する必要があるのは、テストツールで設定された呼び出し名が、テスト対象のもの(上記の「MyApp」)と一致することだけです。それ以外の場合は、バグを報告できます ここ 。