问题标签 [twa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
878 浏览

android - 在 TWA 中隐藏 Android 软导航(Bubblewrap)

我已按照本指南(https://developers.google.com/web/android/trusted-web-activity/quick-start)构建 TWA 应用程序,但我需要隐藏 android 软导航栏(不是网址栏)。

我找到了这个(https://developer.android.com/training/system-ui/navigation),但不知道在哪里放置 onResume() 方法。

我之前没有在 Android Studio 中做过任何东西,我对此完全陌生。非常感谢您的帮助。

谢谢

0 投票
1 回答
1050 浏览

java - Android native 和 Trusted Web Activity(TWA) 之间的通信

我使用 android 包装了一个 Vue js Web 应用程序,使其成为 TWA(受信任的 Web 应用程序)。

现在我想将 Android 部分的 firebase_token 和其他数据发送到 TWA 中的 webapp。由于所有 API 都在网络应用程序上,我不想在 Android 中调用任何 API。

在 WebView 中,我们可以使用“WebViewController.evaluateJavascript()”将数据从 Android 发送到 webapp,但我不知道如何将数据从我的 Android(java) 发送到 web 应用。

0 投票
1 回答
73 浏览

trusted-web-activity - 从 Chromebook 运行 TWA 只会在浏览器中打开 URL,而不是独立窗口

当我在 Chromebook 上下载像这个项目 ( https://github.com/GoogleChromeLabs/svgomg-twa ) 构建的 TWA 时,它只会在 Chrome 浏览器中启动 URL,而不是作为独立的 web 视图。如果我作为 PWA 安装,那么它可以在独立浏览器中正确运行。与 PWA 不同,该网站在从 TWA 运行时也不会被缓存

有没有人设法让 TWA 在 Chromebook 上正常运行?

0 投票
3 回答
290 浏览

progressive-web-apps - 如何在受信任的 Web 活动 (TWA) 中禁用拉取刷新行为?

我的 PWA 应用程序在 main.css 文件中有此代码。

当添加到主屏幕并以全屏模式启动时(在 manifest.json 中设置),下拉刷新按预期禁用。

但是,在 TWA 情况下:

当我使用https://github.com/GoogleChromeLabs/bubblewrap pull-to-refresh 行为创建签名的 APK 时,没有禁用。

有什么解决办法吗?

0 投票
1 回答
128 浏览

android-webview - 如何在应用内浏览器或 android webview 中隐藏 div

我在从受信任的 Web 活动打开的自定义选项卡中隐藏 div 中提出了一个问题, 让我再解释一下。

我的 twa 网站是https://www.monsoonmalabar.com/ 在上面的网站中有一个指向外部网站的链接https://keralapsc.monsoonmalabar.com/在 twa 应用程序中单击此链接时,此链接将在-应用浏览器。在该应用内浏览器(网站:https ://keralapsc.monsoonmalabar.com )中,左侧有一个带有链接的按钮https://play.google.com/store/apps/details?id=com.monsoonmalabar.app

当用户使用 twa(应用内浏览器)时,我想隐藏该链接(按钮)。根据您在 stackoverflow 站点中的建议,我将外部链接添加为https://keralapsc.monsoonmalabar.com/?hideDiv=true
并在外部站点中添加了代码为

现在发生的情况是在 twa(具有 hideDive=true)的第一次访问期间,按钮消失了。但是,当我通过转到另一个页面继续浏览外部站点时,该外部站点按钮再次显示。也许我没有正确理解你。你能用代码解释一下吗?我是编码新手。我的 twa 应用程序是https://play.google.com/store/apps/details?id=com.monsoonmalabar.app

以下是标记的外部链接的屏幕截图。

在此处输入图像描述

0 投票
1 回答
2163 浏览

java - 如何使用 TWA 全屏制作 Android 应用(沉浸式)

我们制作了一个当前使用 WebView 全屏显示 Web 内容的 Android 应用程序。

这可行,但性能很大程度上取决于 WebVeiw 组件的版本,并且在 Chrome 浏览器更新时并不总是更新(在不同的 Android 版本中,WebView 组件和 Chrome 浏览器之间存在相对复杂的关系)。从谷歌关于该主题的演示中我们得出结论,使用 TWA 我们可能会获得更好和更一致的性能,因为 TWA 功能与 Chrome 浏览器一起更新。因此,我们希望在 TWA 不存在时使用 TWA 并回退到 WebView(我们的应用程序在 Android 4.4 和更高版本上运行)。

该应用程序需要执行更多的逻辑,而不仅仅是显示 Web 内容,因此我们无法仅在 Manifest 中定义 TWA/WebView。检查是否能够使用 TWA 并在 MainActivity.java 中启动 TWA 或回退到 WebView。但是,使用 TWA 时,URL/地址栏和底部导航栏仍然可见。

URL/地址栏:据我们所知,要使 TWA 不显示 URL/地址栏,TWA 中显示的域必须有一个与证书“匹配”的 /.well-known/assetlinks.json 文件安卓应用。包含有关此信息和有用链接的两个页面是https://developers.google.com/web/android/trusted-web-activity/integration-guidehttps://developer.android.com/training/app-links/验证站点关联。assetlinks.json 是使用https://developers.google.com/digital-asset-links/tools/generator创建的,并通过 https://digitalassetlinks.googleapis.com/v1/statements:list?source.web 成功检查。站点=website_url&relation=delegate_permission/common.handle_all_urls

在虚拟设备(Android API 级别 29,Chrome v83)上测试期间,我们启用了 Chrome 的“在非 root 设备上启用命令行”标志,并在终端中执行了

之后,Chrome 会显示一条警告消息,但 URL/地址栏仍然存在。

底部导航栏:Chrome v80 和更新版本应支持使用沉浸式选项删除底部导航栏:https ://bugs.chromium.org/p/chromium/issues/detail?id=965329#c18 尽管使用描述的创建选项全屏应用程序(https://developer.android.com/training/system-ui/immersive#java)底部导航栏仍在显示。

我们如何删除 URL/地址栏和底部导航栏,基本上我们如何使 TWA 中的网页内容全屏显示?

我们查看了以下示例应用程序,以了解我们需要做什么才能使 TWA 正常工作,但没有发现任何工作(尽管我们错过了一些重要的东西并非不可想象):

我们项目文件的相关内容:

清单.json

MainActivity.java

构建.gradle

构建.gradle

/.well-known/assetlinks.json

0 投票
0 回答
113 浏览

trusted-web-activity - 没有先运行 chrome 浏览器,TWA 应用程序无法独立运行

如果不先运行 chrome 浏览器,TWA 应用程序会在闪屏处阻塞。但先运行浏览器后,TWA 应用程序运行正常。为什么?

0 投票
0 回答
148 浏览

google-chrome - 如何在受信任的 Web 活动应用程序中禁用页面缓存?

我为我的一个朋友创建了一个受信任的网络活动应用程序。链接:https ://play.google.com/store/apps/details?id=com.grodudes.app 它工作得非常好,但我面临一个小问题,即使设备在线,它也会显示缓存页面导致问题,例如即使用户已登录,但在移动到其他页面时仍显示用户已注销。重新加载页面可以解决此问题。我该如何解决?

0 投票
0 回答
167 浏览

firebase-cloud-messaging - 同一域上的多个 TWA 上的 FCM 推送通知

我正在处理一个用例,我正在尝试创建多个在同一域上运行但具有不同路由的 TWA。像这样

我通过这个线程 知道在同一个域上创建多个 TWA 是可行的。但我无法理解在这种情况下推送通知将如何工作。

由于三个 TWA 上的 firebase 凭据相同,因此我假设将为所有三个 TWA 生成相同的 FCM 令牌(因为它们在浏览器上运行)。现在,如果我向 TWA-1 发送推送通知,我如何设法在通知单击而不是另一个时打开目标 TWA。

请原谅简洁。

0 投票
1 回答
281 浏览

javascript - 如何将 TWA 的 javascript 代码绑定到本机函数?

我目前正在尝试丰富我的 PWA(渐进式 Web 应用程序)。我的 PWA 是一个适用于 jQuery / HTML5 的应用程序,它可以工作。现在我想构建一个受信任的 Web 活动 (TWA),因为我想直接使用最新的技术(不是 Android Studio 的 WebView,因为 TWA 使用 Chrome 作为引擎,我真的很喜欢 Chrome)。另外,我有一个无法通过 PWA 提出的请求,只能通过本机功能(电话跟踪)提出。

现在我的计划是,我的 TWA 可以与本机应用程序通信。有没有办法让我可以在 TWA 中调用一个 JS 函数并且这个 JS 函数链接到一个本机函数?