• 想获取用户各项行为数据吗?
  • 想轻松查看用户行为图表吗?
  • 想高效进行 App 运营管理吗?

想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics

本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。

代码示例&使用技巧

集成

  1. 下载 JAnalytics SDK
  2. 添加 Lib 文件夹下的全部文件至 Xcode Project
  3. 增加相关的 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 数据统计的更多相关文章

  1. 金牌架构师:我们是这样设计APP数据统计产品的

    前言:近期,智能大数据服务商“个推”推出了应用统计产品“个数”,今天我们就和大家来谈一谈个数实时统计与AI数据智能平台整合架构设计. 很多人可能好奇,拥有数百亿SDK的个推,专注消息推送服务多年,现在 ...

  2. 个推数据统计产品(个数)iOS集成实践

    最近业务方给我们部门提了新的需求,希望能一站式统计APP的几项重要数据.这次我们尝试使用的是个推(之前专门做消息推送的)旗下新推出的产品“个数·应用统计”,根据官方的说法,个推的数据统计产品通过专业的 ...

  3. Fiddler基本原理与抓取Andriod与IOS的App数据包

    Fiddler基本原理 Fiddler数据包的原理是Fiddler将自己设置为一个代理服务器,默认监听127.0.0.1:8888端口同时将浏览器的HTTP.HTTPS协议设置为使用代理服务器也就是使 ...

  4. iOS-----GitHub上比较齐全的iOS 工具和App

    Github-iOS 工具 和 App   系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-       BFKit 又一套Ca ...

  5. Apple的App Analytics统计平台你必须知道的Q&A整理与翻译

    Apple的App Analytics统计平台你必须知道的Q&A整理与翻译 Apple最近在iTunesConnect里最新发布了App Analytics统计平台,提供了现有友盟统计平台和自 ...

  6. Android之友盟多渠道打包与数据统计

    文章大纲 一.多渠道打包与数据统计介绍二.友盟实现多渠道打包实战三.友盟数据统计实战四.项目源码下载五.参考文章   一.多渠道打包与数据统计介绍   多渠道打包,相信很多同学都知道.在Android ...

  7. <iOS开发>之App上架流程(2017)

    本文主要介绍了App上架流程,以及上架过程中会遇到的一些问题. 一.App上架前的准备. 上架前,需要开发人员有苹果开发者账号,具体请阅读苹果开发者账号注册申请流程.本文是在已经拥有开发者账号的前提下 ...

  8. iOS 最新公布app到AppStore全流程具体解释

    一.生成公布证书(证书的作用:类似于驾照,证明你的身份能够进行开发人员一些操作) 打开https://developer.apple.com 点击右上角开发人员中心 这里输入你付款过的Apple 帐号 ...

  9. App渠道统计方法全面解析 总有一种适合你

    一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...

随机推荐

  1. Codeforces 721E DP

    大概思路及题意看这篇博客吧 我的理解:设f[i]表示处理到第i个区间,能唱的最多的歌,g[i]是保证f[i]最大时最靠左的点.那么f[i] = max(f[j] + (r[i] - max(l[i], ...

  2. Spring Data JPA + layui的前台分页插件layPage实现页面的分页

    一.后台代码: 1.1 controller层代码 @RequestMapping("/xxxxxx") public String showInformationCode(Str ...

  3. Zookeeper使用--Java API

    1  创建节点 创建节点有异步和同步两种方式.无论是异步或者同步,Zookeeper都不支持递归调用,即无法在父节点不存在的情况下创建一个子节点,如在/zk-ephemeral节点不存在的情况下创建/ ...

  4. Openssl ciphers命令

    一.简介 ciphers指令是用来展示用于SSL加密算法的工具 二.语法 openssl ciphers [-v] [-ssl2] [-ssl3] [-tls1] [cipherlist] 选项 -v ...

  5. hadoop分布式集群搭建前期准备(centos7)

    那玩大数据,想做个大数据的从业者,必须了解在生产环境下搭建集群哇?由于hadoop是apache上的开源项目,所以版本有些混乱,听说都在用Cloudera的cdh5来弄?后续研究这个吧,就算这样搭建不 ...

  6. 多校训练4——Hehe

    递推题: dp[i]表示字符串第i个字母前有多少种不同的方法 1.出现一个hehe:dp[i]=dp[i-4]+dp[i-2] 意思是dp[i]=当前的hehe换成wqnmlgb+当前的hehe不换成 ...

  7. es学习-索引别名

    别名不能重复,也不能喝索引名称重复.(一个索引可以创建多个别名) 语法: 添加一个别名: url:POST http://192.168.0.108:9200/_aliases/ 参数: { &quo ...

  8. 域名如何绑定IP

    以 http://www.xinnet.com/ 为例 1.登陆新网,进入域名管理,解析 2.进入mydns 添加新的A记录 填写主机名比如:www.xxx.com 填写对应的ip地址:xxx.xxx ...

  9. Logback configuration

    官方指导 http://logback.qos.ch/manual/configuration.html 规则 ch.qos.logback.core.joran.JoranConfiguratorB ...

  10. Grunt 与WebStrom 集成

    为了不想使用命令行的方式开着grunt,打算将Grunt命令集成WebStrom 中 . 1.将配置好的Gruntfile文件放到项目的根目录下.. 2.File-setting-Extental T ...