Как добавить ссылку на сайт? - PullRequest
5 голосов
/ 13 марта 2019

Я знаю, что обычно мы хотим полностью поддерживать взаимодействие в рамках опыта Биксби, но если я хочу показать очень подробную информацию о стиле не помощника, может быть полезно предложить ссылку, которая позволяет пользователю видеть больше на данный URL. Я видел эту практику UX в капсулах, которые поставляются с Bixby на Note9, таких как Yelp (Bixby показывает основные моменты обзоров, но чтобы получить полный список всех обзоров, вы можете увидеть больше на Yelp), The Weather Channel и т. Д.

Мой вопрос: каков рекомендуемый способ размещения ссылки "Подробнее на САЙТЕ" в макете?

Ответы [ 2 ]

6 голосов
/ 18 марта 2019

Текущий рекомендуемый метод будет использовать ключ app-launch, доступный в result-view.

. Вам потребуется создать следующее:

  • Примитив (текст) концепция с именем Url

  • Действие с именем FetchUrl, выход которого является URL-адресом, который вы хотели бы запустить

  • Отдельный result-view где определен ключ app-launch.Это то место, откуда будет запущен ваш желаемый URL.

Ваш поток будет:

  1. Ваша капсула имеет result-view, который отображаетКарта «Подробнее на САЙТЕ» (это может быть любой элемент отображения, содержащий on-click).

  2. Карта on-click «Подробнее на САЙТЕ» будет содержать intent целью которого является ваше FetchUrl Действие, а значения (и) которого являются / являются релевантными входными данными, которые необходимо вернуть для запуска URL.

  3. После того, как "См.пользователь нажимает на карту «больше на САЙТЕ», intent приводит к выводу Url.

  4. Из-за шаблона match это вызывает result-view, содержащий клавишу app-launch (пример показан ниже).Поскольку этот result-view содержит только app-launch, ничего не будет отображаться, и желаемый Url будет запущен в браузере пользователя по умолчанию.

Как определить app-launch вresult-view:

result-view {
  match: Url (this) {
    min(Required) max (One)
  }

  render {
    nothing
  }

  app-launch {
    payload-uri {
      template ("#{value(this)}")
    }
  }
}
1 голос
/ 03 июля 2019

Другая альтернатива - использовать подбородок с составной картой. Это работает, конечно, только если составная карта является подходящим компонентом пользовательского интерфейса для вашего макета. Это обсуждено и дано здесь , но для удобства ниже приведен пример кода вида:

  render {
    layout {
      section {
        content {
          compound-card {
            content {
              single-line {
                text {
                  value {
                    template ("Click below to Punch Out")
                  }
                }
              }
            }
            chin {
              slot1 {
                single-line {
                  text {
                    value {
                      template ("Link to Google")
                    }
                  }
                }
              }
              url {
                template ("http://www.google.com")
              }
            }
          }
        }
      }
    }
  }
...