swift2.3集成友盟统计

使用的友盟统计版本:
iOS 统计分析SDK v4.1.0(2016-8-3)
开发环境
swift2.3

准备工作

首先需要到友盟官网注册一个开发者账号,此处省略...
我没有用coocapods导入,就手动将友盟提供的库拖到项目中来用了,只需要将UMMobClick.framework 静态库导入到项目中就行,非常方便集成,这里提供一个下载地址
除了需要友盟的静态库之外,还需要导入系统的动态库:

  • CoreTelephony.framework
  • libz.tbd
  • libsqlite3.tbd
//在桥接文件(项目名-Bridging-Header)中引入头文件
#import  //友盟统计

代码配置

在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))
        }
    }
  • 统计登录用户名
    1. 手机/用户名方式登录

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)


###小结
统计页面之间的跳转的功能,需要到明天才能在友盟后台看到,基本需要统计的功能就这些了

你可能感兴趣的:(swift2.3集成友盟统计)