从品牌网站建设到网络营销策划,从策略到执行的一站式服务
背景
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的莎车网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!最近在研究iOS无埋点
统计技术,我们的统计SDK
主要分两部分:点击事件和网络请求。统计所有的点击事件是采用Method Swizzling
实现的,可以做到使用中不需要一行代码实现统计所有事件,具体细节将来我会专门抽几篇文章介绍。
今天主要说说如何统计APP中的所有网络请求。公司网络请求如果不是静态库
或者框架
,很容易想到在网络请求发送和返回时添加统计的代码。如何在不修改原来代码(或者修改最少)的基础上拦截所有的请求呢,能不能从系统层面上拦截回调呢?答案是肯定的,苹果有一个黑魔法NSURLProtocol
。
介绍
NSURLProtocol是iOS URL Loading System中的一部分,看起来像是一个协议,但其实这是一个类,而且必须使用该类的子类,并且需要被注册。先看看他在URL Loading System中的位置:
使用场景
不管是UIWebView还是URLSession还是第三方的AFNetWorkong
、Alamofire
或者SDWebImage
他们都是基于URLSession
或者NSURLConnection
来实现的,因此可以通过NSURLProtocol做自定义操作。
实现
首先要继承NSURLProtocol创建自定义的类,然后重写startLoading、stopLoading添加我们的统计代码就可以了:
static NSString * const hasInitKey = @"LLMarkerProtocolKey"; @interface LLMarkerURLProtocol : NSURLProtocol @end
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图