River Jiang
2020-10-21 c1d12cdfd23933a0db431a70ff5e145924864782
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
//
//  TalkingDataGA.h
//  TalkingDataGA
//
//  Created by Biao Hou on 11-11-14.
//  Copyright (c) 2011年 tendcloud. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
 
// 账户类型
typedef enum {
    kAccountAnonymous       = 0,    // 匿名账户
    kAccountRegistered      = 1,    // 显性注册账户
    kAccountSinaWeibo       = 2,    // 新浪微博
    kAccountQQ              = 3,    // QQ账户
    kAccountTencentWeibo    = 4,    // 腾讯微博
    kAccountND91            = 5,    // 91账户
    kAccountTypeWeiXin      = 6,    // 微信
    kAccountType1           = 11,   // 预留1
    kAccountType2           = 12,   // 预留2
    kAccountType3           = 13,   // 预留3
    kAccountType4           = 14,   // 预留4
    kAccountType5           = 15,   // 预留5
    kAccountType6           = 16,   // 预留6
    kAccountType7           = 17,   // 预留7
    kAccountType8           = 18,   // 预留8
    kAccountType9           = 19,   // 预留9
    kAccountType10          = 20    // 预留10
} TDGAAccountType;
 
// 性别
typedef enum {
    kGenderUnknown          = 0,    // 未知
    kGenderMale             = 1,    // 男
    kGenderFemale           = 2     // 女
} TDGAGender;
 
 
 
 
 
@interface TalkingDataGA: NSObject
 
/**
 *  @method getDeviceId 获取设备id
 */
+ (NSString *)getDeviceId;
 
/**
 *  @method setVerboseLogDisabled 设置不显示日志  如发布时不需显示日志,应当最先调用该方法
 */
+ (void)setVerboseLogDisabled;
 
/**
 *  @method backgroundSessionEnabled
 *  开启后台使用时长统计,需在SDK初始化之前调用。
 */
+ (void)backgroundSessionEnabled;
 
/**
 *    @method    onStart     初始化统计实例     请在application:didFinishLaunchingWithOptions:方法里调用
 *    @param     appId       appId           类型:NSString     应用的唯一标识,统计后台注册得到
 *  @param     channelId   渠道名(可选)      类型:NSString     如“app store”
 */
+ (void)onStart:(NSString *)appId withChannelId:(NSString *)channelId;
 
/**
 *    @method    onEvent     自定义事件
 *    @param     eventId     事件ID    类型:NSString
 *    @param     eventData   事件参数   类型:键值对(key只支持NSString, value支持NSString和NSNumber)
 */
+ (void)onEvent:(NSString *)eventId eventData:(NSDictionary *)eventData;
 
/**
 *  @method setLatitude 设置经纬度
 *  @param  latitude    纬度      类型:double
 *  @param  longitude   经度      类型:double
 */
+ (void)setLatitude:(double)latitude longitude:(double)longitude;
 
 
@end
 
 
 
 
 
@interface TDGAAccount : NSObject
 
/**
 *    @method    setAccount  设置账户
 *    @param     accountId   账户ID    类型:NSString
 */
+ (TDGAAccount *)setAccount:(NSString *)accountId;
 
/**
 *    @method    setAccountName  设置账户名称
 *    @param     accountName     账户名称    类型:NSString
 */
- (void)setAccountName:(NSString *)accountName;
 
/**
 *    @method    setAccountType  设置账户类型
 *    @param     accountType     账户类型        类型TDGAAccountType
 */
- (void)setAccountType:(TDGAAccountType)accountType;
 
/**
 *    @method    setLevel    设置账户等级
 *    @param     level       升级之后的等级     类型:int
 */
- (void)setLevel:(int)level;
 
/**
 *    @method    setGender   设置性别
 *    @param     gender      性别      类型:TDGAGender
 */
- (void)setGender:(TDGAGender)gender;
 
/**
 *    @method    setAge  设置年龄
 *    @param     age     年龄      类型:int
 */
- (void)setAge:(int)age;
 
/**
 *    @method    setGameServer   设置区服
 *    @param  gameServer      区服      类型:NSString
 */
- (void)setGameServer:(NSString *)gameServer;
 
@end
 
 
 
 
 
@interface TDGAMission : NSObject
 
/**
 *    @method    onBegin     开始一项任务
 *    @param     missionId   任务名称    类型:NSString
 */
+ (void)onBegin:(NSString *)missionId;
 
/**
 *    @method    onCompleted 完成一项任务
 *    @param     missionId   任务名称    类型:NSString
 */
+ (void)onCompleted:(NSString *)missionId;
 
/**
 *    @method    onFailed    一项任务失败
 *    @param     missionId   任务名称    类型:NSString
 *    @param     cause       失败原因    类型:NSString
 */
+ (void)onFailed:(NSString *)missionId failedCause:(NSString *)cause;
 
@end
 
 
 
 
 
@interface TDGAVirtualCurrency : NSObject
 
/**
 *    @method    onChargeRequst          虚拟币充值请求
 *    @param     orderId                 订单id        类型:NSString
 *    @param     iapId                   充值包id      类型:NSString
 *    @param     currencyAmount          现金金额      类型:double
 *    @param     currencyType            币种          类型:NSString
 *    @param     virtualCurrencyAmount   虚拟币金额    类型:double
 *    @param     paymentType             支付类型      类型:NSString
 */
+ (void)onChargeRequst:(NSString *)orderId
                 iapId:(NSString *)iapId
        currencyAmount:(double)currencyAmount
          currencyType:(NSString *)currencyType
 virtualCurrencyAmount:(double)virtualCurrencyAmount
           paymentType:(NSString *)paymentType;
 
/**
 *    @method    onChargeRequst          虚拟币充值请求
 *    @param     orderId                 订单id        类型:NSString
 */
+ (void)onChargeSuccess:(NSString *)orderId;
 
/**
 *  @method onReward                虚拟币赠送
 *  @param  virtualCurrencyAmount   虚拟币金额         类型:double
 *  @param  reason                  赠送虚拟币的原因    类型:NSString
 */
+ (void)onReward:(double)virtualCurrencyAmount reason:(NSString *)reason;
 
@end
 
 
 
 
 
@interface TDGAItem : NSObject
 
/**
 *    @method    onPurchase  虚拟物品购买
 *    @param     item        道具           类型:NSString
 *    @param     number      道具个数        类型:int
 *    @param     price       道具单价        类型:double
 */
+ (void)onPurchase:(NSString *)item itemNumber:(int)number priceInVirtualCurrency:(double)price;
 
/**
 *    @method    onPurchase  虚拟物品消耗
 *    @param     item        道具           类型:NSString
 *    @param     number      道具个数        类型:int
 */
+ (void)onUse:(NSString *)item itemNumber:(int)number;
 
@end