lpw
2024-09-25 2f0847c51cfe186abd2c4fc554108edc1890d222
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
//
//  WACoreProxy.h
//  WASdkIntfUI
//
//  Created by wuyx on 16/3/1.
//  Copyright © 2016年 GHW-T-01. All rights reserved.
//
 
#import <Foundation/Foundation.h>
#import <WASdkIntf/WACore.h>
#import <WASdkIntf/WAIPush.h>
NS_ASSUME_NONNULL_BEGIN
 
@class WACoreProxy;
 
#define WALog(fmt,...) {\
if([WACoreProxy displayLog]){\
NSLog((@"WASDK LOG [(version %@) %s ]:" fmt), [WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__);\
[WACoreProxy addLogWithString:[NSString stringWithFormat:(@"(version %@) %s ]:" fmt),[WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__]];\
}\
}
 
#define WALogNb(fmt,...) {\
if([WACoreProxy displayLog]){\
NSLog((@"WASDK LOG [(version %@) %s ]:" fmt), [WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__);\
[WACoreProxy addLogWithString:[NSString stringWithFormat:(@"(version %@) %s ]:" fmt),[WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__]];\
}\
}
 
#define WALogImpt(fmt,...) {\
NSLog((@"WASDK LOG [(version %@) %s ]:" fmt), [WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__);\
if([WACoreProxy isDebugMode]){\
[WACoreProxy addLogWithString:[NSString stringWithFormat:(@"(version %@) %s ]:" fmt),[WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__]];\
}\
}
 
#define WAEventLog(fmt,...) {\
if([WACoreProxy displayLog]){\
NSLog((@"WASDK LOG [(version %@) %s ]:" fmt), [WACoreProxy getSdkVer],__FUNCTION__, ##__VA_ARGS__);\
[WACoreProxy addEventContentWithString:[NSString stringWithFormat:(@"" fmt),##__VA_ARGS__]];\
}\
}
/*!
 @discussion WACoreProxy
 - - -
 */
@interface WACoreProxy : NSObject
/*!
 @abstract 初始化
 */
+(void)init;
 
 
/*!
 @abstract 初始化(20221202新增初始化回调)
 */
 
+(void)initWithCompletionHandler:(void (^_Nullable)(void))completionHandler;
 
 
/*!
 @abstract 设置sdk类型 0 国外,1 国内
 */
+ (void)setSDKType:(NSInteger)sdkType;
/*!
 @abstract 获取sdk类型 0 国外,1 国内
 */
+ (NSInteger)getSDKType;
/*!
 @abstract 开启数据收集
 */
+(void)initAppEventTracker;
/*!
 @abstract 是否调试模式
 */
+(BOOL)isDebugMode;
/*!
 @abstract 设置调试模式
 */
+(void)setDebugMode:(BOOL)isDebugMode;
 
/*!
 @abstract 是否显示Log按钮
 */
+(BOOL)displayLog;
/*!
 @abstract 设置clientId
 */
+(void)setClientId:(NSString*)clientId;
/*!
 @abstract 获取userId
 */
+(NSString*)getUserId;
/*!
 @abstract 设置serverId
 @param serverId 服务器id
 */
+(void)setServerId:(NSString *)serverId;
/*!
 @abstract 获取serverId
 */
 
+(NSString*)getServerId;
/*!
 @abstract 设置level
 @param level 等级
 */
+(void)setLevel:(int)level;
/*!
 @abstract 获取level
 */
+(int)getLevel;
/*!
 @abstract 设置gameUserId
 @param gameUserId 游戏userId
 */
+(void)setGameUserId:(NSString*)gameUserId;
/*!
 @abstract 获取gameUserId
 */
+(NSString*)getGameUserId;
/*!
 @abstract 设置nickName
 @param nickName 游戏角色名
 */
+(void)setNickName:(NSString*)nickName;
/*!
 @abstract 获取nickName
 */
+(NSString*)getNickName;
/*!
 @abstract 获取userFlag
 */
+(void)setUserFlag:(NSString*)userFlag;
/*!
 @abstract 获取userFlag
 */
+(NSString*)getUserFlag;
/*!
 @abstract 获取WA Server url
 */
+(NSString*)getWaSdkServerUrl;
/*!
 @abstract 获取appKey
 */
+(NSString*)getAppKey;
/*!
 @abstract 获取Publish Channel
 */
+(NSString*)getPublishChannel;
/*!
 @abstract 获取Channel
 */
+(NSString*)getChannel;
/*!
 @abstract 获取appId
 */
+(NSString*)getAppID;
/*!
 @abstract 获取os
 */
+(NSString*)getOS;
/*!
 @abstract 获取SDK版本
 */
+(NSString*)getSdkVer;
/*!
 @abstract 获取SDK ID
 */
+(NSString *)getSdkId;
/*!
 @abstract 获取配置文件版本
 */
+(NSString*)getXmlConfigVer;
/*!
 @abstract 获取抽象层版本
 */
+(NSString*)getIntfVer;
/*!
 @abstract 获取SessionId
 */
+(NSString*)getSessionId;
/*!
 @abstract 隐私政策URL地址
 */
+(NSString *)getPrivacyUrl;
/*!
 @abstract 隐私政策更新时间
 */
+(NSString *)getPrivacyUpdateTime;
/*!
 @abstract 隐私政策内容界面
 */
+(void)showPrivacyUI:(void(^)(void))privacyUIClosedHandler;
+(void)showPrivacyUITitle:(NSString*)title url:(NSString*)url handle:(void(^)(void))privacyUIClosedHandler;
 
/*!
 @abstract 下面两个方法是关于Facebook deeplink, CP不用关注
 */
-(NSString*)getDeepLinkWithUrl:(NSURL*)url;
 
+(void)fetchDeferredAppLink:(void(^)(NSURL *url, NSError *error))handler;
/*!
 @abstract 获取后台配置参数
 */
+(WAParamConfigObj*)getParamConfig;
/*!
 @abstract 下面四个方法是关于打印日志的,CP不用关注
 */
+(void)addLogWithString:(NSString*)string;
 
+(void)addLogWithoutBtn:(NSString*)string;
 
+(void)addEventContentWithString:(NSString*)string;
 
+(void)eventLogWithPlatform:(NSString*)platform eventName:(NSString*)eventName parameters:(NSDictionary*)parameters color:(UIColor*)color;
 
/*!
 @discussion 处理UIApplicationDelegate的方法[-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions]传递过来的参数。
 */
+ (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
 
#pragma mark 消息通知
/*!
@abstract 注册通知
*/
+ (void)application:(UIApplication *)application initPushWithDelegate:(id<UNUserNotificationCenterDelegate>)delegate API_AVAILABLE(ios(10.0));
 
/*!
 @abstract 调用过用户注册通知方法之后执行
 */
//+ (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_AVAILABLE(ios(8.0));
 
/*!
 @abstract 获取deviceToken
 */
+ (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
 
/*!
 @abstract 注册失败
 */
+ (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
 
#pragma mark IOS8 IOS9 Push Notification Receive
/*!
 @abstract 接收本地通知
 */
//+ (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
 
/*!
 @abstract 接收远程通知
 */
+ (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
 
#pragma mark IOS10 Push Notification Receive
/*!
 @abstractApp 处于前台接收通知时
 */
+ (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler API_AVAILABLE(ios(10.0)) API_AVAILABLE(ios(10.0)) API_AVAILABLE(ios(10.0));
 
/*!
 @abstract 通知的点击事件
 */
+ (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler API_AVAILABLE(ios(10.0)) API_AVAILABLE(ios(10.0));
 
/*!
 程序进入后台
 @discussion 处理UIApplicationDelegate的方法[- (void)applicationDidEnterBackground:(UIApplication *)application]传递过来的参数。
 */
+ (void)applicationDidEnterBackground:(UIApplication *)application;
 
/*!
 程序将进入前台
 @discussion 处理UIApplicationDelegate的方法[- (void)applicationWillEnterForeground:(UIApplication *)application]传递过来的参数。
 */
+ (void)applicationWillEnterForeground:(UIApplication *)application;
 
/*!
 程序进入前台
 @discussion 处理UIApplicationDelegate的方法[- (void)applicationDidBecomeActive:(UIApplication *)application]传递过来的参数。
 */
+ (void)applicationDidBecomeActive:(UIApplication *)application;
 
/*!
 @discussion 处理UIApplicationDelegate的方法[-(BOOL)application:(UIApplication *)application
 openURL:(NSURL *)url
 sourceApplication:(NSString *)sourceApplication
 annotation:(id)annotation]传递过来的参数。
 */
//+ (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
 
+ (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;
 
+ (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler API_AVAILABLE(ios(8.0));
 
//当一个新的场景被创建时调用,可以在这个方法中配置场景。
+ (void)scene:(UIScene *_Nonnull)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *_Nonnull)connectionOptions API_AVAILABLE(ios(13.0));
// 当场景被销毁时调用。
+ (void)sceneDidDisconnect:(UIScene *_Nonnull)scene  API_AVAILABLE(ios(13.0));
//当场景变成活跃状态时调用。
+ (void)sceneDidBecomeActive:(UIScene *_Nonnull)scene API_AVAILABLE(ios(13.0));
//当场景将要变成非活跃状态时调用。
+ (void)sceneWillResignActive:(UIScene *_Nonnull)scene API_AVAILABLE(ios(13.0));
//当应用程序即将进入前台时调用。
+ (void)sceneWillEnterForeground:(UIScene *_Nonnull)scene  API_AVAILABLE(ios(13.0));
//当应用程序进入后台时调用。
+ (void)sceneDidEnterBackground:(UIScene *_Nonnull)scene API_AVAILABLE(ios(13.0));
//当别的APP通过URL地址,打开我们的app时调用
+  (void)scene:(UIScene *_Nonnull)scene openURLContexts:(NSSet<UIOpenURLContext *> *_Nonnull)URLContexts API_AVAILABLE(ios(13.0));
+ (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity API_AVAILABLE(ios(13.0));
 
/*!
 @abstract 设备是否越狱
 */
+ (BOOL)isJailBreak;
 
 
 
@end
NS_ASSUME_NONNULL_END