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

2019-02-26  本文已影响3人  CSCloud
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;
上一篇下一篇

猜你喜欢

热点阅读