简体   繁体   English

Google 助理操作 - 隐式调用体验

[英]Google Assistant Action - Implicit Invocation Experience

I am currently developing a Google Assistant Action.我目前正在开发 Google Assistant Action。 I understand Implicit Invocation as Google describes it and from my experience testing my own app, I very much understand that it works as they describe.我理解隐式调用,正如谷歌描述的那样,根据我测试自己的应用程序的经验,我非常理解它可以像他们描述的那样工作。

Here's what that flow looks like:这是该流程的样子:

User: Ok Google, what's a good recipe I can make?
Google Assistant: Okay. For that, you might like < Your App Here >. Wanna give it a try?
User: Yes
Google Assistant: Opening < Your App Here >
Google Assistant: You should make spaghetti!

Makes sense.说得通。 I ask it a general question and it asks me if I would like to use a certain service to fulfill that request.我问它一个一般性问题,它问我是否愿意使用某种服务来满足该请求。

Why is this not the case for every action?为什么不是每个动作都这样? For example, music.例如,音乐。

User: Ok Google, play blink-182
Google Assistant: Playing blink-182 on Spotify

Alright.好吧。 I configured Spotify to be my default music player, and playing music is a standard Google Action out of the box.我将 Spotify 配置为我的默认音乐播放器,播放音乐是开箱即用的标准 Google Action。 I can understand why it skips the confirmation and goes right to the app.我可以理解为什么它会跳过确认并直接转到应用程序。

How about a random service I download from the internet?我从互联网上下载的随机服务怎么样? Like this one .这个

User: Ok Google, enable study mode
Google Assistant: I'll make sure no one disturbs you

What?!什么?!

No confirmation?没有确认?

How did the Google Assistant know that I want to use the IFTTT service and use the intent in that service to complete the request? Google 助理如何知道我要使用 IFTTT 服务并使用该服务中的意图来完成请求? It is clearly possible to improve the implicit invocation experience of a Google Assistant action so that if you don't have an obvious competing service installed on your device, it will go ahead and select an appropriate service and execute the request.显然可以改进 Google Assistant 操作的隐式调用体验,以便如果您的设备上没有安装明显的竞争服务,它会继续选择合适的服务并执行请求。

How in the world do you do this?你到底是怎么做到的?

There's a lot going on with how invocations can be handled, so let's look at the ones you outline, along with a few that you haven't mentioned.关于如何处理调用有很多事情要做,所以让我们看看你概述的那些,以及一些你没有提到的。

Explicit Invocations 显式调用

You: Ok Google, talk to Shakespearean Insult
GA:  Ok, Here's Shakespearean Insult
SI:  ...

The most straightforward way is to invoke your action by the name you've given it.最直接的方法是通过你给它的名字来调用你的动作。 Since this is a unique name, Google can directly do a hand-off between the Assistant voice and the voice of your Action, although if the user uses it enough, that hand-off part gets shorter and shorter.由于这是一个独特的名称,Google 可以直接在 Assistant 语音和你的 Action 语音之间进行交接,尽管如果用户使用得足够多,交接部分会越来越短。 So if you talk to Shakespearean Insult (in our example above) enough, or enough in a row, the conversation becomes:因此,如果您与 Shakespearean Insult(在我们上面的示例中)交谈足够多,或者连续交谈足够多,对话就会变成:

You: Hey Google, talk to Shakespearean Insult
SI:  ...

Google is vague about when this might happen, or what circumstances will trigger it, but it will happen for Actions that you use most frequently. Google 对何时可能发生这种情况或什么情况会触发它含糊不清,但对于您最常使用的操作会发生这种情况。

Implicit Invocations 隐式调用

You: Ok Google, I need a chicken soup recipe.
GA:  Sure. For that, you might like Personal Chef. Wanna give it a try?

These are meant to help users with the "discovery problem" - how to find Actions if you don't know what they are named, but just what you want them to do.这些旨在帮助用户解决“发现问题”——如果您不知道它们的名称,但知道您希望它们做什么,如何找到它们。 Similar in some ways to Search Engine Optimization (SEO), this lets you add invocation phrases that will also trigger your Action.在某些方面类似于搜索引擎优化 (SEO),这使您可以添加也会触发您的操作的调用短语。 Since many Actions may support these same phrases, however, Google will verify what Action the user wants to use.但是,由于许多操作可能支持这些相同的短语,因此 Google 将验证用户想要使用的操作。

In some cases, Google will also see what phrases are being used as part of your Action and may include your Action as part of a direct response if users ask a question or try to do something.在某些情况下,Google 还会查看哪些短语被用作您的操作的一部分,并且如果用户提出问题或尝试做某事,可能会将您的操作作为直接回复的一部分。

Similar to Explicit Invocations, if the user chooses the same Action enough, then Google may stop prompting if this is the Action they wish to use.与显式调用类似,如果用户选择了足够多的相同 Action,那么 Google 可能会停止提示是否这是他们希望使用的 Action。 Again, the exact level isn't clear, but it is possible.同样,确切的级别尚不清楚,但有可能。

Built-in Intents 内置意图

You: Hey Google, I'd like to play a game.
GA:  Alright, I have a few options for that ... Which one would you like to try?

This is similar to Implicit Invocations, but the difference is that the possible invocation phrases have been determined by Google.这类似于隐式调用,但不同的是可能的调用短语已由 Google 确定。 Developers can register Actions to accept these built-in Intents.开发人员可以注册 Actions 来接受这些内置的 Intent。

Right now, only the "play a game" Intent is publicly available, but Google has indicated that they want to roll out more as they are developed and internationalized.目前,只有“玩游戏” Intent 是公开可用的,但谷歌表示,随着它们的发展和国际化,他们希望推出更多。

Music and Smart Home Commands音乐和智能家居命令

You: Ok Google, play blink-182
GA:  Playing blink-182 on Spotify
You: Turn on the living room light
GA:  <rising tone>

These are similar to how built-in Intents work, since Google has determined what the phrases will be that can invoke the different Intents.这些类似于内置 Intent 的工作方式,因为 Google 已经确定了可以调用不同 Intent 的短语。 The difference, however, is that both require a little closer integration with Google, since the user specifies both through controls in the Google Home app.然而,不同之处在于两者都需要与 Google 更紧密地集成,因为用户通过 Google Home 应用程序中的控件指定两者。

IFTTTIFTTT

IFTTT has special support built into the Google Assistant, although it comes with some limitations compared to other conversational actions. IFTTT 在 Google Assistant 中内置了特殊支持,但与其他对话操作相比,它有一些限制。 There is no need for an explicit confirmation, since you've already taken explicit actions to enable the Applet - you've had to link your account to IFTTT and setup the Applet.不需要明确的确认,因为您已经采取了明确的行动来启用小程序 - 您必须将您的帐户链接到 IFTTT 并设置小程序。 It also isn't as necessary - since all the Applet can do audibly is say one thing and then close, and that one thing was set by the user.这也不是必需的 - 因为 Applet 可以听到的只是说一件事然后关闭,而那一件事是由用户设置的。

Routines例行公事

You: Hey Google, Good Night
GA:  <declining tone>
GA:  Ok, playing relaxing sounds for 30 minutes
You:  Hey Google, record my weight
GA:   Getting Vodo Drive
Vodo: Ok, I've added a row to the spreadsheet named weight. What would you like to set today's weight to?

One thing you didn't mention in your examples about improving invocation phrases are that users can set their own phrases however they want using Routines.您在关于改进调用短语的示例中没有提到的一件事是,用户可以使用 Routines 随意设置他们自己的短语。 This is similar to IFTTT since it has some built-in integration, but requires a user to explicitly create them.这类似于 IFTTT,因为它具有一些内置集成,但需要用户明确创建它们。 Routines are like aliases, where you can set a number of commands that the Assistant will execute when you say something.例程就像别名,您可以在其中设置许多命令,当您说出某事时,助手将执行这些命令。

Users can setup routines using the Google Home app.用户可以使用 Google Home 应用设置例程。 There are some routines that Google has offered names for, such as "Good Morning" and "Good Night", but you can also create your own routines with whatever name you want. Google 为某些例程提供了名称,例如“早安”和“晚安”,但您也可以使用任何名称创建自己的例程。 In the example above, I have a routine named "record my weight" which I've told Google is equivalent to the command ask Vodo Drive to add a row to weight which will call the Vodo Drive action to open a spreadsheet, add a row to it, and prompt me for information.在上面的示例中,我有一个名为“记录我的体重”的例程,我告诉 Google 相当于命令ask Vodo Drive to add a row to weight该命令将调用 Vodo Drive 操作以打开电子表格,添加一行到它,并提示我提供信息。

While some built-in Routines limit you to non-conversational Actions, setting up a custom Routine gives you more flexibility.虽然某些内置例程将您限制为非对话操作,但设置自定义例程可为您提供更大的灵活性。

Summary概括

Developers have some, but not a lot, of ways to get better invocation phrases.开发人员有一些但不是很多的方法来获得更好的调用短语。 When users take advantage of them, however, Google makes sure that it is clear that they are not using something from Google - but rather a third party Action.但是,当用户利用它们时,Google 会确保很明显他们使用的不是来自 Google 的某些东西,而是第三方 Action。 Over time, Google makes this a little better as it is clear the user accepts this.随着时间的推移,谷歌使这变得更好,因为很明显用户接受了这一点。

Users have some way to setup better invocation phrases themselves.用户可以通过某种方式自己设置更好的调用短语。 In cases like this, since the user is explicitly setting things up against a third party, Google is a little more flexible in these cases, since the user has already acknowledged this third party interaction.在这种情况下,由于用户明确地针对第三方进行了设置,因此 Google 在这些情况下会更灵活一些,因为用户已经确认了这种第三方交互。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android Google 助理呼叫操作 - Android Google Assistant call action 添加Google Assistant自定义操作并对其进行检测 - Add google assistant custom action and detect it Android应用程序中的Google Assistant命令触发操作 - Google Assistant command triggering action in Android application 在我的应用中实施/集成Google语音操作/ Google助手 - Implemanting / Integrating google voice action / google assistant in my app 当 Android 应用程序不存在时,来自 Google 助手中的操作的 DeepLink 链接? - DeepLink link from Action in Google Assistant when Android app is not present? 如何使用 android 深度链接和谷歌助手的自定义 DialogFlow 操作? - How to use android deeplink with custom DialogFlow action for google assistant? Google语音助手命令无法执行操作CREATE_NOTE - Google voice assistant command not working for action CREATE_NOTE App Action 适用于 App Actions 测试工具,但不适用于 Google Assistant - App Action Works on App Actions Test Tool But not On Google Assistant 如何从 android 手机谷歌助手控制 Android 应用程序操作 - How to control Android app action from android phone google assistant App Action 通过 App Action Tool Plugin 工作,但不能在 Google Assistant 屏幕中使用语音命令 - App Action working via App Action Tool Plugin but not with voice command in Google Assistant Screen
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM