您可以允许用户回复卡片,而不是在时间轴上显示卡片与他们的回复文本



当我有一个带有REPLY动作的bundle(也许这也发生在单个时间轴卡片上),并且用户执行了该动作,例如"花生酱和果冻三明治",那么Glass上就会出现一个新的时间轴卡片,带有黑色背景上的白色文字,文字为"花生酱和果冻三明治"。当查看操场时,同样的卡片出现在左侧,用户的头像在左侧(就像Abe Lincoln模板示例),文本在右侧。

我们把这个新卡片称为提醒卡,因为它提醒用户他们说了什么,允许发送什么文本。

我没有把那张提醒卡插入时间轴。

这是谷歌眼镜的默认行为,回复动作插入一个提醒用户他们说了一些文本吗?这算对我们的API计数,或者它是一个免费的,并对一些谷歌帐户收费?

是否有一种方法可以使用REPLY动作并应用某种未记录的属性来防止显示此提醒卡?

这里有一个文档,似乎鼓励不重复的回复动作,这可能是由这个提醒卡行为激发的。

REPLY, REPLY_ALL—语音回复旨在通过语音捕获自由表单输入。不要使用语音回复来捕捉有限的选项集,例如游戏中可能的移动。

来源

下面是在Java中重现这个问题的代码,并不复杂:

menuItemList.add(new MenuItem().setAction("REPLY"));

"REPLY"时间轴项目由Glass客户端自动插入,其所有权设置为您的Glassware:这意味着您对该时间轴项目具有完全的读/写访问权限。

这是由你的玻璃器皿来处理时间轴项目和应用一些样式。时间轴项目对用户也很有用,因为它允许用户在必要时"删除"回复。如果在您的Glassware中删除回复没有意义,请随意删除该时间轴项目,以便将其从用户的时间轴中删除。

关于API配额,这仅在您向API发送实际请求(如检索时间轴项目)时才计算。创建"REPLY"的Glass不会占用您的配额。

标准做法是让您的Glassware在处理后更新回复,或者删除不再需要的回复。根据如何处理回复的确切上下文,这两种方法都可能有意义。甚至可以将此现有回复添加到您控制的另一个bundle中。

正如Alain所指出的,存在的卡片数量没有配额-只有您执行的操作数量。这不是您要执行的操作,因此不计入配额。

最后,虽然不完全相关,但值得注意的是,当您共享卡片时也会发生这种情况-制作卡片的副本并允许您使用该新卡片。您的应用程序可以在此新卡上执行您希望的任何操作。

实际上(至少在我看来)卡片存在的主要原因是您的应用程序可以访问某个地方的文本。回复不会在原卡上添加任何额外的信息,而是用回复的文本创建新卡,并且该卡的itemId将以通知的形式发送给您的订阅。

你能做的就是在收到通知并处理回复后删除卡片。这张卡片完全在你的控制之中,所以你可以随心所欲地操作。

最新更新