Как закончить разговор изящно? - PullRequest
0 голосов
/ 09 июля 2019

Я использую Google Assistant Service через GRPC, созданный с использованием новейшего встроенного_ассистента.proto

Я получаю 100% ошибок в Google Assistant API - несмотря на то, что мое приложение работает правильно, я считаю, что получаю ошибки из-за неправильной обработки окончания разговора.

Может кто-нибудь посоветовать, как правильно завершить разговор?

Google Assistant API сообщает об ошибке, вызванной следующим методом:

enter image description here

public io.grpc.stub.StreamObserver<com.google.assistant.embedded.v1alpha2.AssistRequest> assist(
    io.grpc.stub.StreamObserver<com.google.assistant.embedded.v1alpha2.AssistResponse> responseObserver) {
  return asyncUnimplementedStreamingCall(METHOD_ASSIST, responseObserver);
}

Вот как я начинаю и заканчиваю разговор (на основе примеров):

public void startConversation() {
    mConversationHandler.removeCallbacksAndMessages(null);
    mRequestHandler.post(() -> mRequestCallback.onRequestStart());
    mAssistantHandler.post(() -> {

        DialogStateIn.Builder dialogStateInBuilder = DialogStateIn.newBuilder();
        getLocation();
        if (mDeviceLocation != null) {
            dialogStateInBuilder.setDeviceLocation(mDeviceLocation);
        }
        dialogStateInBuilder.setLanguageCode(mLanguageCode);

        AssistConfig.Builder assistConfigBuilder = AssistConfig.newBuilder()
                .setAudioInConfig(mAudioInConfig)
                .setAudioOutConfig(mAudioOutConfig)
                .setDeviceConfig(mDeviceConfig);
        if (mScreenOutConfig != null) {
            assistConfigBuilder.setScreenOutConfig(mScreenOutConfig);
        }
        assistConfigBuilder.setDialogStateIn(dialogStateInBuilder.build());

        mAssistantRequestObserver = mAssistantService.assist(mAssistantResponseObserver);

        mAssistantRequestObserver.onNext(
                AssistRequest.newBuilder()
                        .setConfig(assistConfigBuilder.build())
                        .build());
    });
}


public void stopConversation() {
    mAssistantRequestObserver = null;
    mConversationHandler.removeCallbacksAndMessages(null);
    mConversationHandler.post(() -> mConversationCallback.onConversationFinished());
}

Кроме того, есть ли способ получить эту информацию об ошибке из консоли Google?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...