admin
2023-04-21 57e30bc2584b92ce3da3821bd0f6e040f2ad28df
Pods/RangersAPM/RangersAPM/Public/ForAPP/RangersAPMConfig.h
@@ -8,6 +8,19 @@
#import <Foundation/Foundation.h>
#import "RangersAPMCommon.h"
typedef NS_OPTIONS(NSUInteger, RangersAPMMonitorSwitch) {
    RangersAPMCrashMonitorSwitch = 1<<0,             //崩溃分析
    RangersAPMLagMonitorSwitch = 1<<1,               //卡顿分析
    RangersAPMUserExceptionMonitorSwitch = 1<<2,     //自定义错误
    RangersAPMNetworkMonitorSwitch = 1<<3,           //网络分析
    RangersAPMLaunchMonitorSwitch = 1<<4,            //启动分析
    RangersAPMFPSMonitorSwitch = 1<<5,               //帧率检测
    RangersAPMUIMonitorSwitch = 1<<6,                //页面加载分析
    RangersAPMHybridMonitorSwitch = 1<<7,            //Web页面分析
    RangersAPMMemoryGraphMonitorSwitch = 1<<8,       //内存分析:包括内存指标、泄漏分析、大对象、单设备查询等
    RangersAPMCrashProtectorSwitch = 1<<9            //崩溃防护
};
NS_ASSUME_NONNULL_BEGIN
@interface RangersAPMConfig : NSObject
@@ -23,9 +36,31 @@
@property (atomic, copy) NSString *appID;
/*!@abstract The source where we will get the device ID.
 @discussion Nonnull & require. Default : RAPMDeviceIDSourceFromUser.
 @discussion Nonnull & require. Default : RAPMDeviceIDSourceFromAPMService.
 */
@property (atomic, assign) RAPMDeviceIDSource deviceIDSource;
/*!@abstract The monitors you'd like to allow them start before APM SDK pull the remote configuration.
 @discussion Nonnull & require. Default : All the monitors ---- RangersAPMCrashMonitor | RangersAPMLagMonitor | RangersAPMUserExceptionMonitor | RangersAPMNetworkMonitor | RangersAPMLaunchMonitor | RangersAPMFPSMonitor | RangersAPMUIMonitor | RangersAPMHybridMonitor | RangersAPMMemoryGraphMonitor.
 @discussion This configuration is only useful when there is no remote configuration.
 */
@property (atomic, assign) RangersAPMMonitorSwitch defaultMonitors;
/*!@abstract The identifier of your app user.
 @discussion Nullable & optional.
 */
@property (nonatomic, copy) NSString *userID;
/*!@abstract The domain address where apm logs should be uploaded to.
 @discussion If you are using APMPlus Saas version, just ignore this.
 @discussion Set the domain with 'http://' or 'https://' to specify the scheme, else 'https://' is default.
 */
@property (nonatomic, copy) NSString *domain;
/*!@abstract An application group identifier to contact with the extension.
 @discussion Nullable & optional.
 */
@property (atomic, copy) NSString *groupID;
/**
 Initialize a config with appID.
@@ -34,7 +69,8 @@
 @result A RangersAPMConfig instance.
 */
+ (instancetype)configWithAppID:(NSString *)appID;
- (id)init __attribute__((unavailable("please use configWithSDKID:")));
+ (instancetype)new __attribute__((unavailable("please use configWithSDKID:")));
@end