gpt4 book ai didi

ios - 在 Safari 上为我的 PWA 丢失 "Web Push"的解决方法

转载 作者:行者123 更新时间:2023-12-01 16:20:38 32 4
gpt4 key购买 nike

我正在开发一个需要推送通知的 PWA。遗憾的是 IOS/Safari 不支持 https://w3c.github.io/push-api/#pushmanager-interface现在,所以我想我可能需要以某种方式包装一个 native 应用程序。

在 Android 中(在他们的“受信任的 Web 事件”成为一件事之前)你可以使用 WebView 在你的应用程序中基本上显示一个 headless 的 Chrome View 。 IOS 中的等价物是什么,推送通知和 Webapp(浏览器需要跳转到特定页面)之间的交互是如何工作的?

我需要做的另一件事是与我们公司的移动设备管理集成,即 Microsoft Intune。过去在 Android 中集成了 MDM 我知道这可能是 a** 中的一个主要痛苦,所以我正在考虑自己构建包装器,以获得最大的灵活性。另一种选择是像 Ionic 这样的东西,现在不确定。

最佳答案

这可能不一定适用于您的情况,但我在 Safari 的 PWA 上遇到了完全相同的问题,我仅使用长轮询就解决了这个问题。它将允许您绕过 Safari 的所有限制,并且我能够在我们的 SPA 中重定向和加载部分。

async function subscribe() {
let response = await fetch("/subscribe");

if (response.status == 502) {
// Status 502 is a connection timeout error,
// may happen when the connection was pending for too long,
// and the remote server or a proxy closed it
// let's reconnect
await subscribe();
} else if (response.status != 200) {
// An error - let's show it
showMessage(response.statusText);
// Reconnect in one second
await new Promise(resolve => setTimeout(resolve, 1000));
await subscribe();
} else {
// Get and show the message
let message = await response.text();
showMessage(message);
// Call subscribe() again to get the next message
await subscribe();
}
}

subscribe();

https://javascript.info/long-polling

关于ios - 在 Safari 上为我的 PWA 丢失 "Web Push"的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60827563/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com