总结:文章网址采集器的技术实现与优劣分析-苏州安嘉
优采云 发布时间: 2022-10-27 09:22总结:文章网址采集器的技术实现与优劣分析-苏州安嘉
文章网址采集器我们其实是根据uc网页版android设置了ios的支持。下面就让我们继续讨论具体的技术实现与优劣。我们知道android与ios的appsync是可以进行网络请求的,例如说分享到微信,可以让我们可以在微信内对ios版本的launcher内的文件进行分享,android上就是对folder-appsync-extension然后在内容分享到微信时,相应的android版本的launcher文件名就会同步到微信的缓存上;ios是自身带的。
同时在传统的做法中(例如原生的分享),都有两种方式,分别是推送到服务器,分发到服务器,这两种方式都有弊端。android.launcher推送的这个推送服务,直接的实现都是要推送到android里的app.browser里面。然后微信里的那个请求,这两个方式都是通过folder-appsync推送到微信上。
ios上这两个推送请求是通过folder-appsync推送的,然后都通过了handler来进行消息的push。所以目前为止,关于目前的ios与android开发其实大致的功能实现如下:ios上依旧是通过launcher类,以及folder-appsync-extension来实现。android上依旧是需要ucwebview来实现,然后通过handler以及receiver等这些方式做tag的异步推送。
ios上launcher模块可以提供launchbar,然后后台一直使用launchbar来实现微信浏览器内部分享。android上则需要来自launcherservice,我不清楚在android手机上是否启用了独立service,如果是这样子,则需要单独开发一个专门的android.launcher来给android平台使用。
这个android.launcher只提供了launchbar这个新的功能,但是目前只能实现分享这个基本功能。上述的实现过程,一般来说,就是folder-appsync-extension获取androidwebview分享的一个接口,然后完成分享功能。然后在handler里与receiver订阅对应的分享后进行推送。
不过这样就有一个问题,假如说我推送到微信这个功能就通过android.webview的接口来实现(本文以此为例),那么必须要求微信浏览器里的浏览器,有这个分享接口,但是实际上android端并没有这个接口,那么这个分享是无法实现的。我所了解到的launcher只能提供前端的一个接口是关于分享的,handler里会订阅这个接口,而一般是由launcherservice来接收。
另外一个可能的问题是,假如说我通过ios的方式来实现了ucwebview,那么用起来会比较麻烦,因为ios的微信中也必须要有浏览器或者其他的app来进行android的渲染,而要通过android客户端来分享我的网页我只能单独开发一个android客户端来模拟ios来使用。好在目前看来android端使用虚拟机还是比较成熟,不管。