Как собрать речевой ввод пользователя для глобального использования? - PullRequest
1 голос
/ 23 мая 2019

Я хочу передать / сохранить речевой ввод пользователя. Биксби дает пользователю список результатов просмотра результатов, из которых пользователь скажет, какой элемент он хочет. Затем Биксби отобразит список имен учетных записей, из которых пользователь скажет, какую учетную запись. Я хочу сохранить то, что пользователь говорит после каждого списка, чтобы объединить их для вызова API позже.

В настоящее время я создал списки, которые Биксби отображает только после каждого пользовательского ввода, но я не знаю, как перейти к использованию обоих пользовательских входов для использования в вызове API. Мой authorization.bxb все настроен и работает, он может только пересылать информацию из нескольких «моментов». Я попытался создать представление ввода с помощью selection-of, но продолжал возникать проблемы с отображением списка.

PossibleDataMetrics.view.bxb

result-view {
  match: Metric (metric) {
      from-output: ListMetrics
  }
  message {
    template ("What data metrics are you looking for?")
  }
  render {
    layout {
      section {
        content {
          partitioned {
            content {
              for-each (metric){
                as (m) {
                  title-area {
                    slot1 {
                      text {
                        value ("#{value(m.metrics)}")
                        style (Title_S)
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

ProfileTitleCardResultView.view.bxb

result-view {
  match: Profile (profile) {
      from-output: GetProfiles
  }
  message {
    template ("What profile would you like?")
  }
  render {
    layout {
      section {
        content {
          for-each (profile){
            as (view) {
              title-card {
                title-area {
                  halign (Start)
                  slot1 {
                    single-line {
                      text {
                        style (Detail_L_Soft)
                        value ("Account: #{value(view.acctName)}")
                      }
                    }
                  }
                  slot2 {
                    single-line {
                      text {
                        style (Detail_M_Soft)
                        value ("Web property: #{value(view.webName)}")
                      }
                    }
                  }
                  slot3 {
                    single-line {
                      text {
                        style (Title_S)
                        value ("Profile: #{value(view.viewName)}")
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Когда эти представления результатов вызываются, я собираюсь взять пользовательский ввод из обоих этих списков результатов, чтобы использовать его в другом действии для создания другого списка, основанного на ответе пользователя на первые 2 результата.

1 Ответ

2 голосов
/ 23 мая 2019

В общем, для перехода от result-view у вас есть следующие опции

Другой способ сделать то же самое - вызвать Действие, которое собирает эти inputs, которое вызывает input-view для каждого из них.

Надеюсь, это поможет!

...