首页 文章

添加渐进式Web应用程序游戏商店/应用商店

提问于
浏览
18

我们的PWA完全使用新的Angular构建 . 我们已经实现了所有优化,例如树摇,uglify,AOT,服务工作者等 . 它运行良好,并且像移动应用程序一样运行 . 如果用户将其添加到主屏幕,则很难区分 .

PWA遇到了一些很大的限制:

  • 我们业务的所有通知(至关重要)必须以短信形式发送 . 这显然具有巨大的成本效益 . 我们确实考虑在Android上使用"web"推送通知,尽管我们也有很多iOS用户 .

  • 我们需要能够"background"中的"track"地理位置,并且HTML5 Geolocation API不会削减它 .

  • 目前每次用户导航到URL(作为短信提醒发送)时,往往会在浏览器中打开新标签(取决于手机) . 即使用户实际将应用程序添加到其主屏幕中也是如此 . 这显然会增加加载时间并创建太多选项卡 . 我们宁愿将应用程序放在前台并导航到特定路线(或使用推送通知)

  • 我们的一些活跃用户每天可以轻松收到10个通知,他们需要轻松导航到应用程序 .

我们研究了NativeScript和Ionic . 两者都提供了开发Angular应用程序的能力,但它们似乎“似乎”围绕专门为移动设备编写应用程序而设计(......或者从头开始使用它们) .

我可能错过了一些东西,但是当我们只想将包装器放在我们的渐进式Web应用程序中以便它可以作为“混合”应用程序安装时,最佳做法是什么 . 该应用程序只需导航到我们的公共URL,它支持服务工作者,并允许我们访问一些本机功能 .

我知道我可能在这里错过了PWA的观点,但是编写另一个“本机”应用程序对我们来说并不是真正的选择 .

在Google Play商店或Apple App Store中展示我们的渐进式网络作为应用的最佳方式是什么?

3 回答

  • 8

    开始使用托管Web应用程序的好地方是PWABuilder.com . 此工具可以在线使用,也可以从CLI使用 . 它的一部分创建了服务工作者和东西,但它也为Android和iOS创建了Cordova项目 .

    我用PWABuilder创建了一个起点 . 最终将生成的iOS和Android项目合并为一个适用于iOS,Android和Windows的项目 . 因为它是Cordova,你也可以使用插件 .

  • 0

    您可以轻松地将PWA打包为离子/ Cordova应用程序 .

    • 目前无法在ios上实现网络推送 . 使用Cordova .

    • 无法进行背景跟踪 . 考虑定期推送通知和后台同步的混合,看看它是否有任何帮助 .

    • 在Android上,用户需要做的就是在第一次链接打开时总是点击,不记得它是如何在ios上的 .

    • 推送通知允许您指定URL .

    你可以阅读这篇文章,以了解更多关于我如何混合cordova与PWA .

    https://medium.com/awebdeveloper/pwa-is-future-of-mobile-how-to-tame-it-855dd42df0ec

  • 0

    您可能想要搜索深层链接 .

    https://developers.google.com/web/updates/2017/02/improved-add-to-home-screen#android_intent_filters

    新增和改进的添加到主屏幕Paul Kinlan Paul是开发者倡导者Chrome首次在Chrome 42中引入了“添加到主屏幕” Banner . 这是网络的一大步,因为它为用户提供了轻松的能力在主屏幕上保留一个喜欢的网站,就像本机应用程序一样 . 我们从阿里巴巴这样的开发者那里听说,用户将其网站添加到主屏幕后重新进行4次重新互动 . 我们还看到调整启发式以添加到主屏幕以提示更快收益48%的安装量 . 我们很高兴地分享该团队致力于改进主屏幕体验,使网络应用成为Android的一流公民 . 现在,Web应用程序将与Android集成,而不仅仅是一个快捷方式图标 . 这意味着将PWA添加到其主屏幕的用户将能够在他们看到其他应用程序的任何地方(例如,在应用程序抽屉中或搜索应用程序中)找到它,并从意图打开该站点 . 我们认为这是许多改进中的第一步,并打算在未来几个月内将其作为添加到主屏幕的默认体验 . Chrome Canary已经提供了改进的主屏体验,并将在未来几周推出Chrome 57测试版 . 注意:从Chrome 59开始,它已经滚动到Chrome稳定 Channels 上的所有用户 . 要测试您的网站,请访问您的PWA . 您可以从三点菜单>“添加到主屏幕”或通过添加到主屏幕 Banner 开始安装 . 这个新的对于添加到主屏幕的原始版本,体验是一个巨大的改进,但这些安装的Progressive Web Apps和Android Apps之间存在一些差异 . 更新应用程序的图标和名称您现在可以更新Progressive Web App的图标和名称,并将其反映给用户 . 在用户随后打开网站后,更改清单中的图标或名称将更新主屏幕上的图标 . Android Intent过滤器当通过这种新的改进的添加到主屏幕体验安装渐进式Web应用程序时,它将在系统中注册为其域的URL空间的目标 . 这意味着当用户点击Progressive Web App范围内包含的链接时,您的应用将会打开,而不是在您的PWA运行时打开Chrome . 当您安装Progressive Web App时,我们会查看您的Web App Manifest和其他元数据,并创建一个安装在用户设备上的APK(Android Package Kit),这可能会在用户首次安装时花费很短的时间您的Web应用程序 . 注意:每当Web App Manifest发生更改时,我们都需要生成一个新的APK,因此频繁更新清单并不是一个好主意 . 确保您不在清单中使用特定于用户的标识符(例如每个用户的自定义start_url)尤其重要,因为这会生成一个唯一的APK,这意味着您的安装时间将比您预期的要长很多 . 在该APK中,我们定义了一个Android Intent Filter,用于定义何时应该打开Web应用程序 . 例如,要在点击该链接时打开https://airhorner.com应用,Chrome会创建以下内容 .

    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data
        android:scheme="https"
        android:host="airhorner.com"
        android:pathPrefix="/" />
    </intent-filter>
    

    这非常强大,但不是很灵活 . 这只是说当在Android中为https://airhorner.com/的整个域点击或拦截的链接打开应用程序时 . 但是,如果您不希望PWA为您域中的所有路径打开,该怎么办?这就是范围Web应用程序清单属性的用武之地 . 范围是......

相关问题