iOS 11.3 中 PWA 无推送通知限制的解决方法?
Posted
技术标签:
【中文标题】iOS 11.3 中 PWA 无推送通知限制的解决方法?【英文标题】:Workaround for the no push notifications limitation for PWA in iOS 11.3? 【发布时间】:2018-04-16 19:56:12 【问题描述】:部分 PWA 支持已登陆 ios 11.3,但不幸的是,推送通知是不受支持的功能之一。
可以使用 Apache Cordova 将 PWA 包装到本机应用程序中并添加推送通知支持吗?该应用被 Apple 批准放置在其应用商店中的可能性有多大?
更新:我尝试了 React Native webview,但不幸的是我碰到了另一面墙。 Google OAuth 登录在 web 视图中不起作用。有什么解决方法吗?
更新 2: https://codeburst.io/webviews-and-social-authentication-with-react-native-cfecf96ac7d7 这将解决上面的障碍,但 WebView 很慢,而且 RN 的实现有问题。 WKWebKit 更好,但它与 Firebase Auth JS 存在兼容性问题,并且仍然不支持 service worker。
【问题讨论】:
通过 Cordova 将使其成为本机应用程序,对吗?不再将其称为 PWA。 它仍然通过 webview 由相同的 pwa 代码提供支持,代码更改最少 我现在正面临着这个问题。 iOS PWA 支持“半生不熟”让我想到了仅适用于 android 的 PWA,但适用于 iOS 的 Cordova 包装版本。 遇到了pwabuilder.com,但我没有尝试过。看起来很有希望 【参考方案1】:我做了同样的事情,但将它嵌入到 React Native <WebView>
。
【讨论】:
@Henry Yep 我得到了<WebView>
的引用,每当收到通知时,我都会对其进行postMessage
。
您尝试过 Cordova 吗?有兴趣知道如果您只使用 <WebView>
,您为什么选择 react native 而不是 Cordova。 github.com/CRAlpha/react-native-wkwebview这可能你也感兴趣?
@Henry 科尔多瓦 webview 是一个超级 webview,它嵌入了很多额外的东西。我只需要一个简单的 webview 没有额外的东西。它的开销更少。所以我只是猜测更快。我过去也使用过 Cordova,但记得它很慢。
谢谢,我想我也会这样做。是直截了当吗?有什么要注意的吗?谢谢!
超级直超级简单。只需要设置 RN 环境。如果您使用的是 Windows 机器,则 RN 0.56.0 当前无法正常工作。他们将很快发布 RN 0.56.1。【参考方案2】:
我刚试过。我使用 quasar-framework 制作了一个带有网络推送的 PWA。它运行顺利,但我希望它在 play store 中,所以我使用了纯 webview 包装器。网络推送不适用于此。
所以在下一步中,我尝试使用phonegap-push-plugin 创建一个cordova 应用程序。这确实有效,但文件都在设备上,因此 PWA 的优势消失了。
下一步,我只是将启动 url 更改为指向 web 中的 PWA,但不知何故 phonegap-push-plugin 不再起作用。
【讨论】:
以上是关于iOS 11.3 中 PWA 无推送通知限制的解决方法?的主要内容,如果未能解决你的问题,请参考以下文章