使用的友盟统计版本:
iOS 统计分析SDK v4.1.0(2016-8-3)
开发环境
swift2.3
准备工作
首先需要到友盟官网注册一个开发者账号,此处省略...
我没有用coocapods导入,就手动将友盟提供的库拖到项目中来用了,只需要将UMMobClick.framework 静态库导入到项目中就行,非常方便集成,这里提供一个下载地址
除了需要友盟的静态库之外,还需要导入系统的动态库:
- CoreTelephony.framework
- libz.tbd
- libsqlite3.tbd
//在桥接文件(项目名-Bridging-Header)中引入头文件
#import <UMMobClick/MobClick.h> //友盟统计
代码配置
在AppDelegate+UMMobClick.swift配置方法
enum UMLoginType:String {
case QQ
case WB
case WX
}
extension AppDelegate{
//友盟统计
func setupUMeng(){
let UMConfigInstance = UMAnalyticsConfig.sharedInstance()
UMConfigInstance.appKey = UMENG_APPKEY
UMConfigInstance.channelId = "App Store"
MobClick.startWithConfigure(UMConfigInstance)
//设置app版本号
let infoDictionary = NSBundle.mainBundle().infoDictionary!
if let version = infoDictionary["CFBundleShortVersionString"]{
MobClick.setAppVersion(version as! String)
}
//打印log日志
MobClick.setLogEnabled(true)
}
//账号登出时需调用此接口,调用之后不再发送账号相关内容。
func UMProfileSignOff(){
MobClick.profileSignOff()
}
//当用户使用自有账号登录时,可以这样统计
func UMProfileSignInWithPUID(string:String){
MobClick.profileSignInWithPUID(string)
}
//当用户使用第三方账号(如新浪微博)登录时
func UMProfileSignInWithPUID(string:String,provider:UMLoginType){
MobClick.profileSignInWithPUID(string, provider: provider.rawValue)
}
//需要跳转的类
func UMBeginLogPageView(className:String){
MobClick.beginLogPageView(className)
}
//跳转到目标的类
func UMEndLogPageView(className:String){
MobClick.endLogPageView(className)
}
}
方法调用
- 在登出响应方法中,不再向友盟发送统计
//退出登录
self.appDelegate.UMProfileSignOff()
- 在BaseViewController基类中统计页面之间的跳转
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
//向友盟发送用户页面操作统计
if let classTitle = title {
appDelegate.UMEndLogPageView(classTitle)
}else{
appDelegate.UMEndLogPageView(NSStringFromClass(self.classForCoder))
}
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
//向友盟发送用户页面操作统计
if let classTitle = title {
appDelegate.UMBeginLogPageView(classTitle)
}else{
appDelegate.UMBeginLogPageView(NSStringFromClass(self.classForCoder))
}
}
- 统计登录用户名
- 手机/用户名方式登录
self.appDelegate.UMProfileSignInWithPUID(snsAccount!.userName)
2. 三方登录(QQ,WX)
//微信登录成功响应方法,其中snsAccount!,userName是三方后台传过来的用户名
self.appDelegate.UMProfileSignInWithPUID(snsAccount!.userName, provider: .WX)
//QQ登录成功响应方法
self.appDelegate.UMProfileSignInWithPUID(snsAccount!.userName, provider: .QQ)
###小结
统计页面之间的跳转的功能,需要到明天才能在友盟后台看到,基本需要统计的功能就这些了