iOS 轻松使用 App 数据统计
- 想获取用户各项行为数据吗?
- 想轻松查看用户行为图表吗?
- 想高效进行 App 运营管理吗?
想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。
本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。
代码示例&使用技巧
集成
- 下载 JAnalytics SDK
- 添加
Lib
文件夹下的全部文件至 Xcode Project - 增加相关的 framework 依赖:
UIKit.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
Security.framework
Foundation.framework
CoreLocation.framework
CoreFoundation.framework
CFNetwork.framework
libz.tbd
libresolv.tbd
初始化 SDK
#import "JANALYTICSService.h"
在 application:didFinishLaunchingWithOptions
中添加以下代码:
代码示例
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";
[JANALYTICSService setupWithConfig:config];
其中的 appKey
参数,需要你在极光控制台注册个帐号,并创建一个 App 项目来获取。
页面流统计
+startLogPageView
:开始统计某页面,可以写在 ViewControler 的viewDidAppear:
+stopLogPageView
:结束统计某页面,可以写在 ViewControler 的viewDidDisappear:
代码示例
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:@"页面名称"];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:@"页面名称"];
}
使用技巧
以上方法需要在所有 Controller 中全部写一遍,建议在自己的 UIViewController 基类 BaseViewController 或者为 UIViewController 添加 Category,添加以下代码。只要写一遍即可统计所有现有或者新增的页面,既减少了代码量,也不用担心有遗漏的页面:
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:NSStringFromClass([self class])];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:NSStringFromClass([self class])];
}
在以上代码的基础上还可单独定义一个类似 PageNameFromClass 的方法,通过获取 class 转为具体的页面名称
地理位置统计
+setLatitude:longitude:
:上报地理位置信息
代码示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];
崩溃日志统计
+crashLogON
:开启对 crash日志的收集
建议在 application:didFinishLaunchingWithOptions
调用该方法。
代码示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];
事件统计
+eventRecord
通过传入不同的事件模型来进行各种事件的统计,现支持的事件有:注册、登录、购买、浏览、计数、计算。
代码示例
[JANALYTICSService eventRecord:event];
其中的 event 需要根据事件的不同进行创建。
例如注册事件:
JANALYTICSRegisterEvent * event = [[JANALYTICSRegisterEvent alloc] init];
event.success = YES;//是否注册成功
event.method = @"注册方法";
event.extra = @{@"自定义 key1":@"自定义 value1"};
[JANALYTICSService eventRecord:event];
各种不同事件的创建方法参照此处
控制台图表查看
在控制台统计页面可以查看到 App 中各项数据的统计图表。
- 免费功能:包括推送统计、用户统计、参与留存、错误分析、事件统计、页面统计等,也足以满足各项统计需求了。
- VIP 功能:包括 终端统计、排行统计、用户画像等高级功能。
其中的各项数据一般会在 App 调用相应接口之后每隔 1 小时进行刷新。
另外每项统计下面又包含多种不同功能,大家可以依次尝试一下。
作者:pikacode - 极光
原文:iOS 轻松使用 App 数据统计
知乎专栏:极光日报
iOS 轻松使用 App 数据统计的更多相关文章
- 金牌架构师:我们是这样设计APP数据统计产品的
前言:近期,智能大数据服务商“个推”推出了应用统计产品“个数”,今天我们就和大家来谈一谈个数实时统计与AI数据智能平台整合架构设计. 很多人可能好奇,拥有数百亿SDK的个推,专注消息推送服务多年,现在 ...
- 个推数据统计产品(个数)iOS集成实践
最近业务方给我们部门提了新的需求,希望能一站式统计APP的几项重要数据.这次我们尝试使用的是个推(之前专门做消息推送的)旗下新推出的产品“个数·应用统计”,根据官方的说法,个推的数据统计产品通过专业的 ...
- Fiddler基本原理与抓取Andriod与IOS的App数据包
Fiddler基本原理 Fiddler数据包的原理是Fiddler将自己设置为一个代理服务器,默认监听127.0.0.1:8888端口同时将浏览器的HTTP.HTTPS协议设置为使用代理服务器也就是使 ...
- iOS-----GitHub上比较齐全的iOS 工具和App
Github-iOS 工具 和 App 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错- BFKit 又一套Ca ...
- Apple的App Analytics统计平台你必须知道的Q&A整理与翻译
Apple的App Analytics统计平台你必须知道的Q&A整理与翻译 Apple最近在iTunesConnect里最新发布了App Analytics统计平台,提供了现有友盟统计平台和自 ...
- Android之友盟多渠道打包与数据统计
文章大纲 一.多渠道打包与数据统计介绍二.友盟实现多渠道打包实战三.友盟数据统计实战四.项目源码下载五.参考文章 一.多渠道打包与数据统计介绍 多渠道打包,相信很多同学都知道.在Android ...
- <iOS开发>之App上架流程(2017)
本文主要介绍了App上架流程,以及上架过程中会遇到的一些问题. 一.App上架前的准备. 上架前,需要开发人员有苹果开发者账号,具体请阅读苹果开发者账号注册申请流程.本文是在已经拥有开发者账号的前提下 ...
- iOS 最新公布app到AppStore全流程具体解释
一.生成公布证书(证书的作用:类似于驾照,证明你的身份能够进行开发人员一些操作) 打开https://developer.apple.com 点击右上角开发人员中心 这里输入你付款过的Apple 帐号 ...
- App渠道统计方法全面解析 总有一种适合你
一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...
随机推荐
- 【HDU5361】In Touch
题意有n个人住在一条直线上,从左到右编号为1,2,3....n ...
- devcloud
zone名字:devcloud 外网dns:8.8.8.8 内网dns:10.0.2.3 提供点名称:devcloud cs bug问题:https://issues.apache.org/j ...
- hdu 1686 KMP算法
题意: 求子串w在T中出现的次数. kmp算法详解:http://www.cnblogs.com/XDJjy/p/3871045.html #include <iostream> #inc ...
- PBOC中文件结构,文件类型解析
1.明确两个规范,a. ISO7816 b.EMV规范/PBOC规范,二者的区别,7816是ISO制定的,是国际规范,而EMV规范是卡组织制定的,是遵循ISO7816规范的,PBOC是抄袭EMV规 ...
- 3.3.6-1 ArrayBlockingQueue简单分析
构造方法:public ArrayBlockingQueue(int capacity) { this(capacity, false); } public ArrayBlockingQueue(in ...
- [GO]可见性
GO的可见性:如果想使用别的包的函数.结构体类型.结构体成员 函数名.结构体类型.结构体成员变量名的首字母必须是大写,则为可见,反之,则只能在一个包里使用 比如本来就有一个项目叫awesomeproj ...
- Git & TortoiseGit
http://www.git-scm.com/download/ http://download.tortoisegit.org/ https://help.github.com/articles/g ...
- sql 两大类 DDL数据定义语言 和DCL数据控制语言
SQL分为五大类: DDL:数据定义语言 DCL:数据控制语言 DML:数据的操纵语言 DTL:数据事务语言 DQL:数据查询语言. DDL (date definition lang ...
- Ajax轮询消息自动提示(消息盒子)
经过一下午写了个消息盒子的例子,用的是ajax方式轮询读取,没有用到后台自动“推”数据的方式,效果良好. <%@ Page Language="C#" AutoEventWi ...
- spring事务以及springweb
什么是事务.事务特性.事务隔离级别.spring事务传播特性 https://www.cnblogs.com/zhangqian1031/p/6542037.html Spring AOP 中@Poi ...