iOS用Runtime实现友盟页面数据统计功能 iOS利用Runtime实现友盟页面数据统计的功能示例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

iOS用Runtime实现友盟页面数据统计功能 iOS利用Runtime实现友盟页面数据统计的功能示例

石虎132   2021-03-28 我要评论
想了解iOS利用Runtime实现友盟页面数据统计的功能示例的相关内容吗,石虎132在本文为您仔细讲解iOS用Runtime实现友盟页面数据统计功能的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:ios,友盟页面统计,ios,友盟数据统计,ios,runtime使用,下面大家一起来学习吧。

前言

一般项目中集成统计功能随因产品类型不同而使用功能不同,但大多数统计一般只有一个目的,就是记录用户习惯,研究用户习惯,从而为用户带来更好的体验,本文主要介绍了关于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.把所有的方法封装好,然后让别的类统一调用这个方法
    好处:

    方便团队管理和维护,相当于是业务层,

谢谢!!!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们