【发布时间】:2019-10-10 03:53:06
【问题描述】:
我为网站的每个子域都定制了 PWA。我们的想法是在 Google Play 上有一个 PWA,安装后,用户可以选择一个子域,将他重定向到子域,然后提示他安装与他选择的子域相关的 PWA。
问题是从 Google Play(或直接从 apk)安装的 PWA 在 WebView 中打开,这似乎不会触发子域上的 berforeinstallprompt 事件(当我在 Google Chrome 中打开子域时,该事件正确发射)。 “添加到主屏幕”选项仍然可以从 WebView 菜单中使用。
这让我有两个选择,但我无法让它们中的任何一个工作:
1) 在 Google Chrome 而不是 WebWiev 中运行从 Google Play 安装的 PWA。
2) 了解如何在 WebView 中触发 berforeinstallprompt。
它们中的任何一个都可能吗?怎么样?
捕获berforeinstallprompt 事件并显示安装按钮的代码与https://developers.google.com/web/fundamentals/app-install-banners/ 上的代码非常相似,因此问题应该出在其他地方。
var deferredPrompt;
var button = document.getElementById("install-button");
window.addEventListener('beforeinstallprompt', (e) => {
e.preventDefault();
deferredPrompt = e;
button.style.display = 'block';
});
【问题讨论】:
标签: webview google-play android-webview apk progressive-web-apps