如何使用Xamarin将web应用程序包装成Android的本地应用程序?

如何使用Xamarin将web应用程序包装成Android的本地应用程序?,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,假设我构建了一个超级移动友好的web应用程序,我希望在Play Store中为Android用户下载 我可以使用Xamarin来: 将整个移动应用程序包装为单个网络视图 注册移动推送通知 通过使用现有的web应用程序来缩短android应用程序的MVP?如果是这样,是否有任何众所周知的流程或文档可以证明这一点?对您来说,最好的方法可能是对一个或多个只包含web视图的页面使用Xamarin表单。 我不喜欢Xamarin表单,因为通常对我来说,Xamarin Android+iOS在类似的时间内

假设我构建了一个超级移动友好的web应用程序,我希望在Play Store中为Android用户下载

我可以使用Xamarin来:

  • 将整个移动应用程序包装为单个网络视图
  • 注册移动推送通知

通过使用现有的web应用程序来缩短android应用程序的MVP?如果是这样,是否有任何众所周知的流程或文档可以证明这一点?

对您来说,最好的方法可能是对一个或多个只包含web视图的页面使用Xamarin表单。 我不喜欢Xamarin表单,因为通常对我来说,Xamarin Android+iOS在类似的时间内会提供更好的结果,但你的应用程序太简单了,使用Xamarin Android没有意义

确保您的web应用程序只显示应用程序中显示的有意义的内容,否则您可能会看到双页眉/页脚、无用的按钮。。。但是如果网站是你的,添加一些参数来稍微改变一下用户界面,我想这不会是一个问题

看看这个例子:

另一种方法是使用Razor直接在应用程序中以html格式构建页面,但如果我理解得很好,这并不是您需要的:


尽管按照前面的回答,从技术上讲,这样做是可能的。我建议首先检讨有关店铺的意见书指引。例如,苹果将不允许向其商店提交任何简单反映网站功能的应用程序。我怀疑谷歌的可能也会如此

不过,为了回答您的问题,Xamarin.Forms适合于您建议的简单应用程序。或者,如果您喜欢构建特定的操作系统,那么在使用Xamarin的iOS中,您可以使用xcode 8.1版本中添加的Safari视图控制器。Android使用的东西与windows类似

编辑:

您可以使用Xamarins and ID native PCL项目中的Web视图控件将您的移动友好网站封装在应用程序中。文档如下:


至于推送通知,是的,这完全可以使用Xamarin.Android。根据您想用什么作为后端来处理它们,实现也会有所不同,例如Azure的通知中心等。

我在Android和Playstore上做了类似的事情,但对于Playstore,指导原则没有Appstore严格。这很有趣。我遇到过android中确实包含“网络视图”的应用程序,但这通常只是应用程序功能集的一部分,而不是应用程序功能的全部。请参阅上面的评论-这是针对android的,我只需要一个包装器。没有别的了。这可能吗?@SB2055 yep意识到您的平台选择,只是简单地扩展了Xamarin.Forms作为答案(它显然是多平台的),但当然您可以使用Xamarin android本机,并使用以下控件:我在上面稍微扩展了一下。我只对使用Xamarin提供一个容器来运行我的web应用程序感兴趣。我不想要任何本机组件或任何额外的UI—只是web应用程序的包装器。实际上,将web应用程序放置在Play store上,并启用推送通知。这是可能的吗?很明显这是可能的,这个例子正好说明了这一点。我们在一个项目中使用了类似的方法,但为了给用户提供更好的体验,我们使用了更多的网络视图,每个视图显示不同的页面。顺便说一句,它也可以用一页纸。对于推送通知,您可以尝试使用Firebase。