[FR]: Render A2UI returned by AppFunctions in the Testing Agent

未关闭
#70 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
18/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
android, kotlin

调研方向

Start with the open questions: whether A2UI returned from an AppFunction is the intended approach, which catalog to target, and the updateComponents.components string-versus-array mismatch in fetchSendMessageDetails (ChatApp). Compare the feature/a2ui-contact-picker branch with main and the androidx.a2ui parser before any design work. Done means a maintainer has confirmed the approach and catalog, with a design agreed for rendering A2UI in the Testing Agent.

由索引模型根据 Issue 内容生成。

描述

enhancement
Is there an existing issue for this?
  • I have searched the existing issues
Describe the problem

The Android Dev Summit keynote shows what looks like a custom app widget inside Gemini. I want to test that kind of flow locally: an app returns UI from an AppFunction, and a host renders it, as Gemini would.

The Testing Agent can't do this today because it doesn't render A2UI on main. I also couldn't find a way to use Gemini Developer Mode with on-device AppFunctions.

Describe the solution

I plan to build this in my fork of the Testing Agent, and I'd be glad to contribute it upstream if it's useful.

@JolandaVerhoef I'm mentioning you because you authored feature/a2ui-contact-picker, which adds an A2UI renderer to the Testing Agent.

First, I'd like to confirm my assumption. The keynote is outside this repo, but do you know how that widget was rendered? Was it A2UI returned from an AppFunction, like fetchSendMessageDetails in ChatApp, or an iframe from a remote MCP server?

If it was A2UI, or A2UI is otherwise the intended approach for AppFunctions, I have two follow-up questions:

  1. Which catalog should the Testing Agent support? I plan to start with the Basic Catalog. ChatApp uses comms_catalog_preview, but its URL returns 404. Is a schema available?
  2. Would you accept a PR that adds A2UI rendering to the Testing Agent? feature/a2ui-contact-picker is close, but it predates the resources format and uses a hand-written renderer. I'd start from main with androidx.a2ui, which requires compileSdk 37.1 and alpha versions of Compose and Material3.
Additional context

I also noticed that fetchSendMessageDetails sets updateComponents.components to a JSON string, while the androidx.a2ui parser expects an array. Is that intentional?

Code of Conduct
  • I agree to follow this project's Code of Conduct
主要语言
Kotlin
星标
216
派生
49
平均合并
1 天 14 小时
30 天内合并 PR
6

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

android/appfunctions 的其他 Issue

查看 android/appfunctions 的全部 Issue

相似的 Issue

更多 Kotlin Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。