我正在学习Google的操作,并制作了一个基本的,类似于Google的应用,该应用可以为登录的用户记录笔记。它有一个Mobie客户端和一个Firebase服务器。我想知道是否可以使助手进行交互,使得可以通过助手会话创建便笺而根本不打开移动客户端。 例如:
User (on any screen): "hey google"
AI - "hi , how can i help?"
U - " place a note to call david in customNotter" ( suppose)
Ai - "am sorrry, customnotter does not exist on your mobile , download it from playstore http"//www.link..."
U - *downloads customNotter app , installs, logs himself in*
U - " place a note to call david in customNotter"
Ai - "Ok, your note is saved"
*saves note "call david" in customNotter (by somehow calling some code to interact with customNotter's server?)*
我可以想象我的应用程序中可能包含一个kotlin代码,助手可以触发该代码,只需将便笺添加到服务器,却无法想象助手如何使用用户的auth详细信息和便笺数据来触发该代码?
PS:我也想知道Google Home是否也可以集成到此类应用程序中。如果不是,那么哪些主要因素会限制google home无法与我的服务器进行交互?例如,假设正在为CustomNotter构建完整的业务模型,该模型中有一个统一的服务器和许多客户端,例如ios / android / web应用程序。 google home能否像另一个经过身份验证的客户端一样,直接与服务器进行交互?
答案 0 :(得分:3)
最好的选择是使用Google上的操作直接调用Firebase服务器并以这种方式更新数据库。目前,对Android应用程序的了解还不深。 Android Actions已宣布,但暂时不可用。
这样做的好处是,您的操作将可以在除Android手机以外的任何Assistant界面上运行,并且不需要用户安装您的应用程序。
由于您可以在Actions on Google上运行Firebase Functions,因此很容易将其合并到Firebase数据库中。
答案 1 :(得分:1)
您在这里做出了两个假设,但是在我做出不同的假设之前,我想澄清一些事情。您说“它有一个移动客户端和一个Firebase服务器”。我假设“ firebase服务器”是存储用户笔记的东西?
如果是这样,那么您实际上根本不需要在本地安装该应用程序即可使用Assistant。您只需要确保您的移动应用程序和Action都具有相同的用户帐户引用,即可更新和读取数据库中的相同记录。这将在助手可以在任何移动设备或扬声器(例如Google Home)上运行操作的任何地方工作。
在这种情况下,您的对话可能看起来像这样:
User: Hey Google, ask Custom Notter to remind me to call David.
Assistant: Getting Custom Notter
[Earcon, indicating your Action is running]
Action: Hi there. I've added a note to call David.
[Earcon, indicating the Action is done]
这是一个非常简单的对话示例。其他对话流程也可能希望指示用户是否尚未将此类应用程序连接到该帐户,或者您可能需要提示他们以允许使用其帐户等,
您将需要编写服务器代码来处理该处理-所有操作都与在云中的服务器上运行的Webhook交互。您可以使用任何语言(包括Kotlin)和任何服务来编写此代码-但是,如果您使用Firebase Cloud Functions或在Google的Cloud上的node.js中运行它,则Google会提供库和其他支持。
所有详细信息都可以在https://developers.google.com/actions/
上找到。如果您确实有移动应用程序,并且想研究如何让助手在该应用程序中启动程序,则可以研究App Actions,Android即将推出。{p>