Initial commit

This commit is contained in:
ifish
2017-08-15 16:59:01 +08:00
commit bdc83e07ef
5766 changed files with 423223 additions and 0 deletions
+160
View File
@@ -0,0 +1,160 @@
//
// 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
+81
View File
@@ -0,0 +1,81 @@
//
// TalkingDataSMS.h
// TalkingData
//
// Created by liweiqiang on 15/6/9.
// Copyright (c) 2015年 TendCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol TalkingDataSMSDelegate <NSObject>
// Delegate回调是在您的主线程中
- (void)onApplySucc:(NSString *)requestId;
- (void)onApplyFailed:(int)errorCode errorMessage:(NSString *)errorMessage;
- (void)onVerifySucc:(NSString *)requestId;
- (void)onVerifyFailed:(int)errorCode errorMessage:(NSString *)errorMessage;
@end
@interface TalkingDataSMS : NSObject
/**
* 短信认证初始化
*
* @param AppId
* TalkingData 分配的App Id
* @param secretId
* TalkingData 分配的 secretId
*/
+ (void)init:(NSString *)appId withSecretId:(NSString *)secretId;
/**
* 申请短信认证码
*
* @param countryCode
* 国家码 如:中国,86
* @param mobile
* 申请验证码的手机号
* @param delegate
* 申请的异步回调接口
*/
+ (void)applyAuthCode:(NSString *)countryCode
mobile:(NSString *)mobile
delegate:(id<TalkingDataSMSDelegate>)delegate;
/**
* 重新申请短信认证码,将下发和requestId匹配的短信内容
*
* @param countryCode
* 国家码 如:中国,86
* @param mobile
* 申请验证码的手机号
* @param requestId
* 相同的request id将返回相同的认证码
* @param delegate
* 申请的异步回调接口
*/
+ (void)reapplyAuthCode:(NSString *)countryCode
mobile:(NSString *)mobile
requestId:(NSString *)requestId
delegate:(id<TalkingDataSMSDelegate>)delegate;
/**
* 验证短信认证码的有效性
*
* @param countryCode
* 国家码 如:中国,86
* @param mobile
* 验证手机号
* @param authCode
* 短信认证码
* @param delegate
* 验证请求的异步回调接口
*/
+ (void)verifyAuthCode:(NSString *)countryCode
mobile:(NSString *)mobile
authCode:(NSString *)authCode
delegate:(id<TalkingDataSMSDelegate>)delegate;
@end
Binary file not shown.