ifish/Ifish/TalkingDataV2.2.88/TalkingData.h

161 lines
5.3 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// TalkingData.h
// __MyProjectName__
//
// Created by Biao Hou on 11-11-14.
// Copyright (c) 2011年 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
// 以下枚举用于WatchApp页面追踪
typedef enum {
TDPageTypeGlance = 1,
TDPageTypeNotification = 2,
TDPageTypeWatchApp = 3
} TDPageType;
@interface TalkingData: NSObject
/**
* @method getDeviceID
* 获取SDK所使用的DeviceID
* @return DeviceID
*/
+ (NSString *)getDeviceID;
/**
* @method setLogEnabled
* 统计日志开关(可选)
* @param enable 默认是开启状态
*/
+ (void)setLogEnabled:(BOOL)enable;
/**
* @method setExceptionReportEnabled
* 是否捕捉程序崩溃记录(可选)
如果需要记录程序崩溃日志请将值设成YES并且在调用sessionStarted:withChannelId:之前调用此函数
* @param enable 默认是 NO
*/
+ (void)setExceptionReportEnabled:(BOOL)enable;
/**
* @method setSignalReportEnabled
* 是否捕捉异常信号(可选)
如果需要开启异常信号捕捉功能请将值设成YES并且在调用sessionStarted:withChannelId:之前调用此函数
* @param enable 默认是NO
*/
+ (void)setSignalReportEnabled:(BOOL)enable;
/**
* @method setLatitude:longitude:
* 设置位置信息(可选)
* @param latitude 维度
* @param longitude 经度
*/
+ (void)setLatitude:(double)latitude longitude:(double)longitude;
/**
* @method sessionStarted:withChannelId:
* 初始化统计实例请在application:didFinishLaunchingWithOptions:方法里调用
* @param appKey 应用的唯一标识,统计后台注册得到
* @param channelId 渠道名如“app store”可选
*/
+ (void)sessionStarted:(NSString *)appKey withChannelId:(NSString *)channelId;
/**
* @method initWithWatch:
* 初始化WatchApp统计实例请在每个入口类的init方法里调用
* @param appKey 应用的唯一标识,统计后台注册得到
*/
+ (void)initWithWatch:(NSString *)appKey;
/**
* @method trackEvent
* 统计自定义事件(可选),如购买动作
* @param eventId 事件名称(自定义)
*/
+ (void)trackEvent:(NSString *)eventId;
/**
* @method trackEvent:label:
* 统计带标签的自定义事件(可选),可用标签来区别同一个事件的不同应用场景
如购买某一特定的商品
* @param eventId 事件名称(自定义)
* @param eventLabel 事件标签(自定义)
*/
+ (void)trackEvent:(NSString *)eventId label:(NSString *)eventLabel;
/**
* @method trackEvent:label:parameters
* 统计带二级参数的自定义事件单次调用的参数数量不能超过10个
* @param eventId 事件名称(自定义)
* @param eventLabel 事件标签(自定义)
* @param parameters 事件参数 (key只支持NSString, value支持NSString和NSNumber)
*/
+ (void)trackEvent:(NSString *)eventId
label:(NSString *)eventLabel
parameters:(NSDictionary *)parameters;
/**
* @method setGlobalKV:value:
* 添加全局的字段,这里的内容会每次的自定义事都会带着,发到服务器。也就是说如果您的自定义事件中每一条都需要带同样的内容,如用户名称等,就可以添加进去
* @param key 自定义事件的key如果在之后创建自定义的时候有相同的key则会覆盖全局的里相同key的内容
* @param value 这里是NSObject类型或者是NSString 或者NSNumber类型
*/
+ (void)setGlobalKV:(NSString *)key value:(id)value;
/**
* @method removeGlobalKV:
* 删除全局数据
* @param key 自定义事件的key
*/
+ (void)removeGlobalKV:(NSString *)key;
/**
* @method trackPageBegin
* 开始跟踪某一页面(可选),记录页面打开时间
建议在viewWillAppear或者viewDidAppear方法里调用
* @param pageName 页面名称(自定义)
*/
+ (void)trackPageBegin:(NSString *)pageName;
/**
* @method trackPageBegin:withPageType:
* 开始跟踪WatchApp某一页面可选记录页面打开时间
建议在willActivate方法里调用
* @param pageName 页面名称(自定义)
* @param pageType 页面类型TDPageType枚举类型
*/
+ (void)trackPageBegin:(NSString *)pageName withPageType:(TDPageType)pageType;
/**
* @method trackPageEnd
* 结束某一页面的跟踪(可选),记录页面的关闭时间
此方法与trackPageBegin方法结对使用
在iOS应用中建议在viewWillDisappear或者viewDidDisappear方法里调用
在Watch应用中建议在DidDeactivate方法里调用
* @param pageName 页面名称请跟trackPageBegin方法的页面名称保持一致
*/
+ (void)trackPageEnd:(NSString *)pageName;
/**
* @method setDeviceToken 设置DeviceToken
* @param deviceToken 从Apple获取的DeviceToken
*/
+ (void)setDeviceToken:(NSData *)deviceToken;
/**
* @method handlePushMessage 处理来自TalkingData的Push消息
* @param message 收到的消息
* @return YES 来自TalkingData的消息SDK已处理
* NO 其他来源消息,开发者需自行处理
*/
+ (BOOL)handlePushMessage:(NSDictionary *)message;
@end