iOS利用Runtime实现友盟页面数据统计的功能示例
程序员文章站
2023-12-19 12:20:22
前言
一般项目中集成统计功能随因产品类型不同而使用功能不同,但大多数统计一般只有一个目的,就是记录用户习惯,研究用户习惯,从而为用户带来更好的体验,本文主要介绍了关于io...
前言
一般项目中集成统计功能随因产品类型不同而使用功能不同,但大多数统计一般只有一个目的,就是记录用户习惯,研究用户习惯,从而为用户带来更好的体验,本文主要介绍了关于ios用runtime实现友盟页面数据统计功能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
一、概念
1.实现页面的统计,需要在每一个类中实现这个方法:
- (void)viewwillappear:(bool)animated { [super viewwillappear:animated]; [mobclick beginlogpageview:@"控制器类名"]; //当然这里也可以使用self.title作为页面的名称,这样在友盟后台查看的时候更加方便些 //[mobclick beginlogpageview:self.title]; }
- (void)viewwillappear:(bool)animated { [super viewwillappear:animated]; [mobclick endlogpageview:@"控制器类名"]; //当然这里也可以使用self.title作为页面的名称,这样在友盟后台查看的时候更加方便些 //[mobclick endlogpageview:self.title]; }
2.用runmine + 分类+ load 实现一次性统计页面的访问次数
#import "uiviewcontroller+umtool.h" #import #import "runtimekit.h" @implementation uiviewcontroller (umtool)
+ (void)load { //创建新的viewwillappear方法 [runtimekit methodswap:[self class] firstmethod:@selector(viewwillappear:) secondmethod:@selector(sh_viewwillappear:)]; //创建新的viewwilldisappear方法 [runtimekit methodswap:[self class] firstmethod:@selector(viewwilldisappear:) secondmethod:@selector(sh_viewwilldisappear:)]; }
- (void)sh_viewwillappear:(bool)animated { [self sh_viewwillappear:animated]; //开始友盟页面统计 [mobclick beginlogpageview:[runtimekit fetchclassname:[self class]]]; }
//新的viewwilldisappear方法 - (void)sh_viewwilldisappear:(bool)animated { [self sh_viewwilldisappear:animated]; //结束友盟页面统计 [mobclick endlogpageview:[runtimekit fetchclassname:[self class]]]; } @end
原理:是利用 runtime 把新建的sh_viewwilldisappear方法和系统的viewwilldisappear方法交换一下实现
3.自定义每个界面中 sel 的访问页面次数和时长
提供思路:
1.首先建一个类,这个类专门写友盟的相关方法
2.把所有的方法封装好,然后让别的类统一调用这个方法
好处:
方便团队管理和维护,相当于是业务层,
谢谢!!!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。