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.把所有的方法封装好,然后让别的类统一调用这个方法
    好处:

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

谢谢!!!

总结

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

您可能感兴趣的文章:

  • iOS通过Runtime实现友盟统计的实例代码
(0)

相关推荐

  • iOS通过Runtime实现友盟统计的实例代码

    在友盟官网可以看到相应的步骤,申请appkey,导入SDK,然后在AppDelegate里面写入相应的代码,下面就是关键的代码: 实现页面的统计需要在每个UIViewController中配对调用如下方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick beginLogPageView:@"PageOne"];//("PageOne"为页面名称,可

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

    前言 一般项目中集成统计功能随因产品类型不同而使用功能不同,但大多数统计一般只有一个目的,就是记录用户习惯,研究用户习惯,从而为用户带来更好的体验,本文主要介绍了关于iOS用Runtime实现友盟页面数据统计功能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.概念 1.实现页面的统计,需要在每一个类中实现这个方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [

  • 利用pyecharts读取csv并进行数据统计可视化的实现

    因为需要一个html形式的数据统计界面,所以做了一个基于pyecharts包的可视化程序,当然matplotlib还是常用的数据可视化包,只不过各有优劣:基本功能概述就是读取csv文件数据,对每列进行数据统计并可视化,最后形成html动态界面,选择pyecharts的最主要原因就是这个动态界面简直非常炫酷. 先上成品图: 数据读取和数据分析模块: #导入csv模块 import csv #导入可视化模块 from matplotlib import pyplot as plt from pyla

  • php版微信数据统计接口用法示例

    本文实例讲述了php版微信数据统计接口用法.分享给大家供大家参考,具体如下: php版微信数据统计接口其实是非常的好用了在前版本还没有此功能是后面的版本增加上去了,下面来看一个php版微信数据统计接口的例子: 微信在1月6日时放出了新的数据分析接口传送门: 请注意: 1.接口侧的公众号数据的数据库中仅存储了2014年12月1日之后的数据,将查询不到在此之前的日期,即使有查到,也是不可信的脏数据: 2.请开发者在调用接口获取数据后,将数据保存在自身数据库中,即加快下次用户的访问速度,也降低了微信侧

  • Android开发使用json实现服务器与客户端数据的交互功能示例

    本文实例讲述了Android开发使用json实现服务器与客户端数据的交互功能.分享给大家供大家参考,具体如下: 第一步:写一个远程查询工具类,使用单例模式 /** * 查询远程服务器的工具 * @author chen.lin * */ public class QueryUtils { //private static final String TAG = "CommonUtils"; private static QueryUtils instance; private Share

  • vue.js使用v-model指令实现的数据双向绑定功能示例

    本文实例讲述了vue.js使用v-model指令实现的数据双向绑定功能.分享给大家供大家参考,具体如下: vue.js的一大功能便是实现数据的双向绑定,本文就表单处理时运用v-model指令实现双向绑定做一个介绍: v-model这个指令只能用在<input>, <select>,<textarea>这些表单元素上,所谓双向绑定,指的就是我们在js中的vue实例中的data与其渲染的dom元素上的内容保持一致,两者无论谁被改变,另一方也会相应的更新为相同的数据.这是通过

  • jQuery实现的页面详情展开收起功能示例

    本文实例讲述了jQuery实现的页面详情展开收起功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>jQuery实现页面详情展开收起</title> <style> .detailpd { padding-top:10px; } </style> <script src=&q

  • 利用php和js实现页面数据刷新

    利用"XXXX.htm"和"XXX.php"两个文件来实现数据的刷新 XXXX.htm <head> <script>// Refresh coder_s = 0;timenow = 0;function calrs(){    d = new Date();    h= d.getHours(); m = d.getMinutes(); s = d.getSeconds(); if( m < 10) m = '0' + m;    i

  • 基于jquery的finkyUI插件与Ajax实现页面数据加载功能

    复制代码 代码如下: <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/json.js"></script> <script type="text/javascript" src="js/jquer

  • Jquery与Bootstrap实现后台管理页面增删改查功能示例

    使用jquery与bootstrap实现了一个比较简单但功能齐全的增删改查功能的后台管理页面,虽然只是一个CRUD页面,但麻雀虽小五脏俱全,JS常用的功能都用到了,本例用原生的jquery与bootstrap配合使用,不考虑JS的重构性及打包,该例子零耦合,开箱即用. 先看Demo: 一.用到的Jquery功能 1.获取/赋值input输入值 $("#my_id").val();// 获取 $("#my_id").val("user_id");/

随机推荐