我们可以修改现有的图书馆胶囊吗?

时间:2019-03-20 21:39:14

标签: bixby

具体来说,我想查看地理图书馆信息胶囊中的某些城市。我们正在通过让系统调用API来进行基于城市的搜索。

最后我们要完成的工作是确保用户可以在我们有可用列表的城市中进行搜索,并防止他们在我们未涵盖的位置进行无效的搜索。其中很大一部分限制了我们要搜索的城市,所以我希望我们可以限制地理图书馆可以识别的内容。另一部分是,如果城市名称可能意味着多个州,我们希望根据我们支持的城市动态地有一些歧义状态提示。

所以TLDR:有什么方法可以自定义内置库胶囊?

1 个答案:

答案 0 :(得分:1)

您无需对地理图书馆信息库进行任何自定义。

您只需要让您的操作获取用户的位置并添加逻辑以根据您的位置要求对其进行检查,然后再决定是否覆盖与特定用户相关的位置并向用户提供适当的输出即可。

添加解释注释的代码:

动作1模式:

action (Action1) {
  description (Checks to see if initial input can be served)
  type (Search)
  collect {
    input (initialInput) {
      type (InitialInput)
      min (Required) max (One)
    }
  }

  output (VerifiedInput)
}

动作2模式:

action (Action2) {
  description (Does the search)
  type (Search)
  collect {
    input (verifiedInput) {
      type (VerifiedInput)
      min (Required) max (One)
      default-init {
        intent {
          goal:Action1
        }
      }
    }
    input (searchParameters) {
      type (SearchParameters)
      min (Required) max (Many)
    }
  }

  output (FinalOutput)
}

您将训练语音以达到Action2的目标,并且由于default-init的输入之一需要启动Action1,因此Bixby将经历Action1首先,然后通过Action2