web-dev-qa-db-ja.com

OPEN_APP_FEATUREアクションをAndroidアプリケーションに統合する方法は?

Googleアシスタントの音声コマンドを使用して、Androidアプリ(「開始」、「停止」)の一部の機能を起動できるようにしたい。

  1. Googleアシスタントからこれらの機能を起動できるようにするには、次の手順を教えてください。
  2. このOpen App Featureでサポートされている自然言語クエリは何ですか?

統合しました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アシスタントが一般的なウェブ結果を提供します。

5
Jérôme Pietri

OPEN_APP_FEATURE のドキュメントに従って:

サポートされるエンティティ

featureのエンティティを指定する必要があります。

したがって、アプリがfeatureパラメーターに対してサポートする値を inline inventory を使用して提供することを試みる必要があります。これにより、そのパラメーターに期待される値をアシスタントに指示できます。サンプルアプリ here にもこの例があります。

ドキュメントには、これをテストする方法をより適切にガイドするためのサンプルクエリが必ず含まれている必要があります(これを更新できるかどうかを確認します)。

私はあなたがテストしているものがうまくいくはずだと信じています-「MyAppで[機能を開く]」。音声では機能しないが、テストツールでは機能する場合は、バグである可能性があります。確認する必要があるのは、テストツールで設定された呼び出し名が、テスト対象のもの(上記の「MyApp」)と一致することだけです。それ以外の場合は、バグを報告できます ここ

0
AdamK