Как вы получаете представление подтверждения Bixby, чтобы показать? - PullRequest
3 голосов
/ 22 мая 2019

Я потратил много времени на просмотр документации, но не смог получить представление подтверждения, которое появилось перед выполнением моего действия. Как выполнить добавление вида подтверждения в капсулу?

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

Вот что я сделал:

1) импорт viv.common в капсуле.bxb:

import (viv.common) {
      as (common)
      version (3.30.0)
    }

2) добавить подтверждение / по заявке к оценке действия:

confirm {
    by (common.Confirmation)
  }

3) добавить представление подтверждения, которое будет соответствовать действию оценки:

confirmation-view {
    match: common.Confirmation {
      confirming {Evaluate (action) }
    }
    mode (PositiveEmphasis)
    message ("Is this the correct address?")

    render {
      layout {
        section {
          content{
            paragraph {
              style (Title_XS)
              value {
                template (
                "#{value(action.address)}}?"
                )
              }
            }
          }
        }
      }
    }
    confirm-options {        
        label ("Yes")
    }
    abort-options {
        label ("Try another Address")
        on-abort {
            intent {
              goal: InputAddress
            }
        }
    }
}

Я надеялся, что это сделает, но я думаю, что упускаю что-то еще. Есть идеи?

1 Ответ

6 голосов
/ 22 мая 2019

Я изучал это, и я предполагаю, что не работает с действием Calculation (или Constructor), вам нужно действие транзакции , основанное на следующемпредложение в подтверждающей документации :

Должно быть соответствующее транзакционное действие с запросом подтверждения с помощью ключа подтверждения.

Посмотритев капсуле для образцов банка капсул-образцов .Передача запроса запрашивает у пользователя подтверждение.Они используют два запроса подтверждения:

  • Первый из них выполняется перед тем, как запросить подтверждение пользователя перед оценкой CreateTransfer, и в результате получается модель Transfer.Это тот, который вы ищете.
  • Второй выполняется с использованием transaction-support и match { Transfer }, чтобы соответствовать выводу первого, и начинает новое намерение на CommitTransfer после подтверждения пользователя..

Соответствующие файлы в структуре папок:

+-- models/
|  +-- actions/
|  |  +-- CreateTransfer.model.bxb
+-- resources/
|  +-- base/
|  |  +-- dialog/
|  |  |  +-- CreateTransfer_Confirmation.dialog.bxb
|  |  |  +-- Transfer_Result.dialog.bxb
|  |  +-- transactions/
|  |  |  +-- precommit.transaction.bxb
|  |  +-- views/
|  |  |  +-- CreateTransfer_Confirmation.view.bxb

Возможно, кто-то из команды разработчиков Bixby сможет расширить этот ответ.Я не вижу причины, по которой нельзя использовать подтверждение для действия Calculation.

...