admin
2023-04-21 57e30bc2584b92ce3da3821bd0f6e040f2ad28df
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
//
//  BDAutoTrackConfig.h
//  RangersAppLog
//
//  Created by bob on 2020/3/25.
//
 
#import <Foundation/Foundation.h>
#import "BDCommonDefine.h"
#import "BDAutoTrackEncryptionDelegate.h"
 
NS_ASSUME_NONNULL_BEGIN
 
@interface BDAutoTrackConfig : NSObject
 
/*! @abstract channel默认 @"App Store", Release版本只有 @"App Store", debug版本可以任意设置. */
@property (nonatomic, copy) NSString *channel;
 
/*! @abstract 申请appID时候填写的英文名称 */
@property (nonatomic, copy, nullable) NSString *appName;
 
/*! @abstract AppID,非空,必须设置 */
@property (nonatomic, copy) NSString *appID;
 
/*! @abstract 默认国内,初始化时一定要传正确的值
 @discussion 发生变化时候请调用 `+[BDAutoTrack setServiceVendor:]`更新值
 @discussion 会影响注册和日志上报。所以如果发生变化后,下次启动初始化请传入正确的值
 */
@property (nonatomic, copy) BDAutoTrackServiceVendor serviceVendor;
 
/*! @abstract 是否开启 WKWebView 的 H5 打通功能,开启后,若WebView页面的JS AppLog SDK侧也配置开启H5Bridge,则H5 埋点将可以从 Native 端上报。默认关闭。
 */
@property (nonatomic) BOOL enableH5Bridge;
 
/*! @abstract 是否开启ALink的延迟场景。默认关闭。 */
@property (nonatomic) BOOL enableDeferredALink;
 
/*! H5Bridge功能域名白名单。只有名单中的页面会开启Bridge。支持通配符。
 * @code
 * config.H5BridgeAllowedDomainPatterns = @[@"*.myapp.com", @"myapp.com"];
*/
@property (nonatomic, copy) NSArray<NSString *> *H5BridgeAllowedDomainPatterns;
 
/*! 当切换用户时,清除AB Versions缓存。默认为开(YES)。
 */
@property (nonatomic) BOOL clearABCacheOnUserChange;
 
/*!
 *  用户可以自定义部分 HTTPHeaderFields
 *  请求自身协议类型 Content-Encoding, Content-Type 等无法替换
 *
*/
@property (nonatomic, strong) NSDictionary<NSString *, NSString *> *HTTPHeaderFields;
 
 
@property (nonatomic) BOOL monitorEnabled;
 
/*! 采集 crash 信息。默认为关(NO)。
 */
@property (nonatomic) BOOL trackCrashEnabled;
 
/*!
 * 允许所有的域名开启H5Bridge
 * 默认为 NO
 * @code
 * config.H5BridgeDomainAllowAll = YES;
*/
@property (nonatomic, assign) BOOL H5BridgeDomainAllowAll;
/*! 应用启动选项 */
@property (nonatomic, readonly) NSDictionary<id, id> *launchOptions;
 
/*! @abstract Define custom encryption method (or custom encryption key)
 @discussion SDK不持有该对象。传入前须确保该对象在SDK使用期间不被释放,请勿传入临时对象。
 SDK will not hold the delegate. Please ensure the delegate's liveness during SDK's usage. Do not pass temporary object.
 */
@property (nonatomic, weak) id<BDAutoTrackEncryptionDelegate> encryptionDelegate;
 
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
 
/*! @abstract 根据App ID获取一个config
@param appID 注册应用时获取的AppID
@param launchOptions 应用启动选项,一般直接传入`application:didFinishLaunchingWithOptions:`的`launchOptions`参数即可
*/
+ (instancetype)configWithAppID:(NSString *)appID launchOptions:(nullable NSDictionary<id,id> *)launchOptions APPLOG_API_AVALIABLE(6.0.0);
 
@end
 
 
 
 
 
@interface BDAutoTrackConfig (API_DEPRECATED)
 
+ (instancetype)configWithAppID:(NSString *)appID APPLOG_API_DEPRECATED_WITH_REPLACEMENT("configWithAppID:launchOptions:");
 
@property (nonatomic, copy, nullable) NSString *initialUserUniqueID APPLOG_API_DEPRECATED_WITH_REPLACEMENT("use BDAutoTrack.setCurrentUserUniqueID:withType Instead");
 
@property (nonatomic, copy, nullable) NSString *initialUserUniqueIDType APPLOG_API_DEPRECATED_WITH_REPLACEMENT("use BDAutoTrack.setCurrentUserUniqueID:withType Instead");
 
@property (nonatomic, assign) BOOL rollback;
 
 
@end
 
NS_ASSUME_NONNULL_END