美文网首页
ios swift工程友盟埋点统计集成

ios swift工程友盟埋点统计集成

作者: CSCloud | 来源:发表于2019-02-26 11:04 被阅读3次
    1. cocoapods集成友盟第三方SDK
    pod 'UMCCommonLog'  // 控制台打印相关信息SDK
    pod 'UMCCommon'  // 友盟通用方法SDK
    pod 'UMCSecurityPlugins' // 友盟安全插件SDK
    pod 'UMCAnalytics' // 友盟数据分析SDK
    pod 'UMCPush' // 友盟推送SDK,这个后期会用到
    pod 'UMCErrorCatch' // 友盟错误捕获SDK,有点类似bugly,目前还是使用bugly
    
    2. swift工程,需要在桥接文件里面导入SDK头文件
    #import <UMCommon/UMCommon.h>
    #import <UMAnalytics/MobClick.h>
    
    3. appdelegate类启动函数里面初始化SDK
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            UMConfigure.setEncryptEnabled(true) 
            UMConfigure.setLogEnabled(false) // 是否打印友盟输出信息
            UMConfigure.initWithAppkey("5c6d2a64b465f55a3800023d", channel: "") // 初始化
            MobClick.setScenarioType(.E_UM_NORMAL) // 参数是普通统计还是游戏统计
            return true
        }
    
    4. 封装一个事件点击类
    class CSCMobClick: NSObject {
        override init() {
            super.init()
        }
        
        static func event(eventId: String!, label: String!) {
           // MobClick.event(eventId, label: label)
            var attributes = [AnyHashable: Any]()
            attributes["label"] = label
            CSCMobClick.event(eventId: eventId, attributes: attributes)
        }
        
        static func event(eventId: String!, attributes: [AnyHashable: Any]!) {
            var tmpAttributes = attributes
            // 这里可以传一些所有点击事件都需要传的参数
            MobClick.event(eventId, attributes: tmpAttributes)
        }
    }
    注:看个人需求可以扩展封装类,满足自己工程的需求
    
    5. 友盟-我的产品-移动统计-进入新版-应用列表-选择自己的应用-功能使用-自定义事件里面-添加事件
    一般分为计数事件和计算事件,简单点击次数的统计用计数事件,需要统计一个事件的时长使用计数事件
    
    6. 工程中在对应事件触发处插入统计代码
    CSCMobClick.event(eventId: "事件ID", attributes: 参数)
    
    7. 点击事件函数对应参数可以查看SDK文档
    //---------------------------------------------------------------------------------------
    /// @name  事件统计
    ///---------------------------------------------------------------------------------------
    
    /** 自定义事件,数量统计.
    使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID
     
     @param  eventId 网站上注册的事件Id.
     @param  label 分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.
     @param  accumulation 累加值。为减少网络交互,可以自行对某一事件ID的某一分类标签进行累加,再传入次数作为参数。
     @return void.
     */
    + (void)event:(NSString *)eventId; //等同于 event:eventId label:eventId;
    /** 自定义事件,数量统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID
     */
    + (void)event:(NSString *)eventId label:(NSString *)label; // label为nil或@""时,等同于 event:eventId label:eventId;
    
    /** 自定义事件,数量统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID
     */
    + (void)event:(NSString *)eventId attributes:(NSDictionary *)attributes;
    
    + (void)event:(NSString *)eventId attributes:(NSDictionary *)attributes counter:(int)number;
    
    /** 自定义事件,时长统计.
        使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
        beginEvent,endEvent要配对使用,也可以自己计时后通过durations参数传递进来
     
     @param  eventId 网站上注册的事件Id.
     @param  label 分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.
     @param  primarykey 这个参数用于和event_id一起标示一个唯一事件,并不会被统计;对于同一个事件在beginEvent和endEvent 中要传递相同的eventId 和 primarykey
     @param millisecond 自己计时需要的话需要传毫秒进来
     @return void.
     
     @warning 每个event的attributes不能超过10个
        eventId、attributes中key和value都不能使用空格和特殊字符,必须是NSString,且长度不能超过255个字符(否则将截取前255个字符)
        id, ts, du是保留字段,不能作为eventId及key的名称
    */
    + (void)beginEvent:(NSString *)eventId;
    
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)endEvent:(NSString *)eventId;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)beginEvent:(NSString *)eventId label:(NSString *)label;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)endEvent:(NSString *)eventId label:(NSString *)label;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)beginEvent:(NSString *)eventId primarykey :(NSString *)keyName attributes:(NSDictionary *)attributes;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)endEvent:(NSString *)eventId primarykey:(NSString *)keyName;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)event:(NSString *)eventId durations:(int)millisecond;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    
    + (void)event:(NSString *)eventId label:(NSString *)label durations:(int)millisecond;
    /** 自定义事件,时长统计.
     使用前,请先到友盟App管理后台的设置->编辑自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID.
     */
    + (void)event:(NSString *)eventId attributes:(NSDictionary *)attributes durations:(int)millisecond;
    

    相关文章

      网友评论

          本文标题:ios swift工程友盟埋点统计集成

          本文链接:https://www.haomeiwen.com/subject/icooyqtx.html