Каков правильный синтаксис для тестирования действий приложения с помощью голоса с помощью Google Ассистента?

В настоящее время я пишу приложение для Android на Kotlin, чтобы протестировать новые встроенные действия приложения, предоставляемые Google. На данный момент смотрю actions.intent.GET_ACCOUNT.

У меня уже есть Android Studio, мой помощник Google и мое устройство, подключенные к одной учетной записи разработчика. Я также загрузил черновик в игровой магазин с тем же именем пакета. Я могу запустить действие приложения с помощью инструмента тестирования, но не могу вызвать его с помощью голоса с помощью Google Assistant.

Я также обращался за помощью по этой ссылке, но мне не повезло Действия приложений Android не работают с голосовыми командами

То, что я говорю в Google Assistant, похоже на «Эй, Google, просмотри мою учетную запись с помощью Big Money». Однако все, что я получаю, - это результат онлайн-поиска. Есть ли что-то очевидное, что мне не хватает? Спасибо!

Мой манифест:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    <meta-data android:name="com.google.android.actions" android:resource="@xml/actions" />

    <activity
            android:name=".views.MainActivity"
            android:exported="true"
            android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data
                    android:scheme="http"
                    android:host="martymoneybank.com"
                    android:pathPattern="/account"/>
        </intent-filter>

    </activity>
</application>

Мой Action.xml:

<actions>
<action intentName="actions.intent.GET_ACCOUNT" >

    <fulfillment urlTemplate="http://martymoneybank.com/account{?accountType}">
        <parameter-mapping
                intentParameter="account.name"
                urlParameter="accountType" />
    </fulfillment>
</action>

Инструмент тестирования:

Просмотр инструмента тестирования


person Marty Dang    schedule 21.05.2019    source источник


Ответы (1)


Вот общие шаги по устранению неполадок для такой ситуации. Если он работает через Studio Test Tool, но не работает через голос, то есть две потенциальные проблемы:

  1. Вы используете неправильную (или неподдерживаемую) фразу, которую Ассистент не может сопоставить с действием приложения. Чтобы найти примеры запросов, перейдите здесь, найдите намерение Ассистента и посмотрите примеры запросов. Например. введите здесь описание изображения

    Однако в вашем случае GET_ACCOUNT не содержит примеров запросов, поэтому сообщите об ошибке для этого здесь.

  2. Это ошибка Ассистента. Если вы попробуете примеры запросов, но он по-прежнему не работает (но отлично работает через Studio Test Tool), пожалуйста, сообщить о проблеме.


Тем не менее, для GET_ACCOUNT не могли бы вы попробовать и посмотреть, работают ли эти этапы (также стоит отметить, что вы можете использовать клавиатуру для ввода фраз, если у Ассистента возникнут проблемы с расшифровкой того, что вы говорите, конечно, без "эй, Google") :

Привет, Google, получите баланс сберегательного счета с помощью Big Money

or

Привет, Google, проверьте баланс моего сберегательного счета на Big Money

or

Привет, Google, попроси Big Money сообщить мне остаток на моем сберегательном счете

person AdamK    schedule 22.05.2019
comment
Привет, Адам! Я попробовал указанные вами фразы, и безуспешно. Я запишу баг с трекером. Спасибо! - person Marty Dang; 22.05.2019
comment
@MartyDang, спасибо, что попробовали, извините, он не работает должным образом. обязательно зафиксируйте ошибку в трекере. вы также можете попробовать протестировать, скажем, START_EXERCISE, который определенно должен работать с примерами фраз. - person AdamK; 22.05.2019
comment
То же самое для меня. Подам жалобу, так как голосовые команды для моих намерений actions.intent.RECORD_HEALTH_OBSERVATION не работают - person Benjamin; 29.05.2019
comment
@Benjamin Да, пожалуйста, напишите о проблеме. В случае RECORD_HEALTH_OBSERVATION в документации есть примеры запросов, поэтому попробуйте их, но если они не работают (но инструмент тестирования работает), вам следует сообщить о проблеме. - person AdamK; 29.05.2019
comment
@Marty Нужно ли нам загрузить файл actions.xml в консоль разработчика, чтобы проверить это? Вам нужно было для этого заполнить форму? Мы можем протестировать наши действия с помощью инструмента тестирования действий приложения - person Gravity; 14.10.2019
comment
@Gravity, чтобы проверить это, вы можете просто использовать плагин App Actions Test Tool Studio. Для тестирования вам не нужно заполнять форму или загружать в консоль. Хотя вам понадобится черновик листинга в Play Console, чтобы протестировать его с помощью инструмента тестирования (ему не нужен файл actions.xml в черновике). Дополнительную информацию см. Здесь: developers.google.com/assistant/app/get- запущена # превью - person AdamK; 14.10.2019