卡上的多个菜单项,包括固定

时间:2013-09-01 18:41:01

标签: google-mirror-api google-glass

编辑:经过囚犯的下面的优秀答案后,我要留下谦卑和搜索后代的问题,但请注意我在形成问题时犯了一个错误。我误解了一条背景文档 - 支持每张卡的多个菜单项。

我正在尝试将固定卡放入固定组(家庭卡的左侧)并让用户选择它并提交回复。应用程序的想法是,这允许用户向web应用程序提交命令,然后Web应用程序处理该命令并将响应卡发送给用户。

我已经完成了从我的应用程序中了解我can't set isPinned to true directly的研究,而不是必须由用户通过menuItem完成。我有那个工作。例如,这可以让用户固定我的卡:

{
  "text": "Test pinnable card",
  "menuItems": [
    {
      "action": "TOGGLE_PINNED",
      "values": [{
        "displayName": "Pin Card",
        "iconUrl": "https://<Graphics URL>"
      }]
    }
  ]
}

这是有效的,到达我的玻璃就好了,我可以固定并解开它没问题。

但是一旦我将menuItem设置为允许用户固定卡,有没有办法让用户回复?根据{{​​3}},每张卡只能有一个menuItem。这似乎意味着任何固定卡都不能有菜单项,因此没有回复功能(至少我不知道另一种回复方式)。

我非常想让用户选择卡并发送语音回复。我可以使用这个menuItem在

"menuItems": [
    {
      "action": "REPLY",
      "values": [
        {
          "displayName": "Search",
          "iconUrl": "https:<Graphics URL>"
        }
      ]
    }

所以问题基本上是否有人知道如何将两个menuItem加载到卡上或以某种方式添加或交换以在卡固定后应用第二个menuItem。我的猜测是,我无法在固定后替换menuItem,或者它可能被滥用来制作用户无法取消固定的卡片,但是使任何固定卡片没有动作似乎也没用。

如果有“显而易见”的解决方法,我很抱歉,我从想法中找到了答案。

我有玻璃,在AppEngine上运行Glassware,可以测试人们的任何理论。这似乎是对玻璃器皿的一个非常基本的需求,它将被大量使用。对于那些好奇的人,我正在研究企业文档排序和数据查找应用程序。

1 个答案:

答案 0 :(得分:2)

一些事情。

首先,您引用的答案并未说每张卡只能有一个menuItem。它说的是每组htmlPages只能有一个菜单,这意味着每张卡必须有相同的菜单。 HtmlPages现在已被弃用,转而支持拆分的HTML,部分原因是该问题存在混淆。

其次,menuItems设置中绝对可以有多个项目。因此,数组的复数和使用。 :)

第三,看起来您正在尝试为不采用值的卡操作设置“值”(TOGGLE_PINNED和REPLY)。只有CUSTOM操作才需要值。

第四,确保为REPLY类型设置了“创建者”。

有关详细信息,请参阅https://developers.google.com/glass/v1/reference/timeline/insert,但一般而言,您需要做的是将menuItems字段设置为数组,数组中的每个元素都有不同的操作。您还需要设置回复的创建者字段。所以这样的事情应该有效(虽然我没有测试过这个特定的):

{
  "text": "Test pinnable card",
  "creator": {
    "id": "harold"
    "displayName": "Harold Penguin",
    "imageUrls": ["https://developers.google.com/glass/images/harold.jpg"]
  },
  "menuItems": [
    {
      "action": "TOGGLE_PINNED"
    },{
      "action": "REPLY"
    },{
      "action": "CUSTOM",
      "values": [
        {
          "displayName": "Search",
          "iconUrl": "https:"
        }
      ]
    }
  ]
}

最后,您可能希望重新考虑使用固定卡来执行此操作。这种方法可以追溯到一种非常以应用为中心的做事方式,这与Glass倾向于如何工作有些相反。如果要添加语音命令,请考虑注册可以接受命令的联系人。有关详细信息,请参阅https://developers.google.com/glass/v1/reference/contacts