App Action 适用于 App Actions 测试工具,但不适用于 Google Assistant

Posted

技术标签:

【中文标题】App Action 适用于 App Actions 测试工具,但不适用于 Google Assistant【英文标题】:App Action Works on App Actions Test Tool But not On Google Assistant 【发布时间】:2021-12-03 04:10:19 【问题描述】:

我已经从https://github.com/actions-on-google/appactions-common-biis-kotlin 克隆了这个项目。我将此项目的包名称与我在 Play Console 中的草稿项目相同,该草稿项目具有临时应用名称“com.acesoft.actions(未审核)”。我可以使用应用操作测试工具 (AATT) 触发应用操作。如果我使用 AATT 将调用名称设置为“测试应用程序”,如果我说“在测试应用程序中打开活动任务”,它将在我的物理测试设备上运行。但是,当我说“在待办事项中打开活动任务”时,Google 助理不会打开应用程序。 Todo 是应用程序的显示名称。根据文档,默认调用名称是应用程序的显示名称。 “在待办事项中打开活动任务”命令将导致在网络中进行搜索。我做错了什么?如何在没有 AATT 的情况下调用应用操作?

我还尝试在 Google 助理中输入以下内容:

“在待办事项中打开活动任务”

“在actions中打开活动任务”(“actions”是临时名称的最后一部分)

所有这些命令都会导致网页搜索而不是打开应用程序! 有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

如果您的应用未在 Play 商店中发布,那么它肯定无法运行。 Google Assistant 仅正式识别已上传并通过审核的应用程序。它可以在测试工具中使用,因为该工具会建立一个临时“预览”,以了解在完全发布后将如何工作。

不过,在某些情况下,Google 助理仍无法将说出的应用名称与设备上安装的应用名称相匹配。这种情况靠自己是不可能解决的。您需要做的是联系 Google Assistant 支持并解释您要做什么。他们或许可以手动对后端进行更改以启用此功能。

您可以在this public bug 中看到其他人遇到类似问题。但是,请不要提交新的错误,也不要填写表单,除非您的应用已上传到 Play。如果您的应用已上传到 Play,请按照关于该问题的最后一条评论中给出的说明进行操作:

如果您的应用在 Play 商店中发布,那么您可以使用此support form 获得支持 - 您现在应该选择“App Actions review”,并指出您希望为您的应用手动映射.不用担心操作控制台项目 ID - 这是另一个项目的 ID。

【讨论】:

感谢道格的回复。你说“Google Assistant 只正式识别已上传并通过审核的应用程序”。我的测试应用程序处于“内部测试”并且未经审查。这就解释了为什么它不适用于 Google Assistant。如果我将应用程序提交给“封闭式测试”或“开放式测试”怎么办。这会被视为“已审核”吗? 不,它必须发布,以便任何人都可以下载和使用它。这将导致对您的操作进行审核。 这意味着我只能在向公众发布应用程序后使用 Google 助理对其进行测试。我知道我可以使用 AATT 执行一些测试,但我不知道我的应用程序和 Google 助理会如何运行。我不知道默认调用名称是否会起作用,因为我还没有看到它起作用。 Google 允许这样的应用在 Play 商店中公开发布有意义吗? 唯一真正无法验证的是调用名称。正如我在回答中所说,如果您最终在那里发现问题,您将不得不联系支持团队来解决这个问题。

以上是关于App Action 适用于 App Actions 测试工具,但不适用于 Google Assistant的主要内容,如果未能解决你的问题,请参考以下文章

InvalidArgumentException: Action App\Http\Controllers\App\Http\Controllers\OrderController@store 未定义

用户ACTION_VIEW在APP中打开URL的意图。

iOS In App Purchase in Action Extension 应用程序

Laravel 上的“Action App\Http\Controllers\CommentRepliesController@createReply 未定义”错误

在Yii2里面怎么获取当前访问页面的Controller,Action

自动更新APP,无需用户交互问题==> Permission Denial: not allowed to send broadcast android.intent.action.PACKAG