74 lines
2.6 KiB
Objective-C
74 lines
2.6 KiB
Objective-C
|
||
#import <Foundation/Foundation.h>
|
||
#import "ACMLogger.h"
|
||
#import "ACMMonitor.h"
|
||
#import "ACMProtocol.h"
|
||
|
||
NS_ASSUME_NONNULL_BEGIN
|
||
|
||
@interface ACMManager : NSObject
|
||
|
||
/// 日志操作对象
|
||
@property (nonatomic, strong, readonly) ACMLogger *logger;
|
||
|
||
/// 埋点操作对象
|
||
@property (nonatomic, strong, readonly) ACMMonitor *monitor;
|
||
|
||
- (instancetype)init NS_UNAVAILABLE;
|
||
|
||
/**
|
||
* 初始化
|
||
* @param databaseName 数据库名,不指定则默认为 “ACMDatabase”
|
||
* @param monitorTableName 埋点表名,必须要指定,用来区分不同产品数据
|
||
* @param loggerTablename 日志表名,必须要指定,用来区分不同产品数据
|
||
* @param limitKeyPrefix 限流信息存储到本地key的前缀,用来区分不同产品的限流缓存
|
||
*/
|
||
- (instancetype)initWithDatabaseName:(NSString * _Nullable)databaseName
|
||
monitorTableName:(NSString *)monitorTableName
|
||
loggerTableName:(NSString *)loggerTablename
|
||
limitKeyPrefix:(NSString *)limitKeyPrefix;
|
||
|
||
/**
|
||
* 初始化
|
||
* @param databaseName 数据库名,不指定则默认为 “ACMDatabase”
|
||
* @param monitorTableName 埋点表名,必须要指定,用来区分不同产品数据
|
||
* @param loggerTablename 日志表名,必须要指定,用来区分不同产品数据
|
||
* @param limitKeyPrefix 限流信息存储到本地key的前缀,用来区分不同产品的限流缓存
|
||
* @param uploadCount 每次上传条数
|
||
* @param retryRightNow 上传失败是否立马重试,默认立马重试
|
||
* @param uploadOnce 是否只执行一轮上传,默认NO
|
||
*/
|
||
- (instancetype)initWithDatabaseName:(NSString * _Nullable)databaseName
|
||
monitorTableName:(NSString *)monitorTableName
|
||
loggerTableName:(NSString *)loggerTablename
|
||
limitKeyPrefix:(NSString *)limitKeyPrefix
|
||
uploadCount:(NSInteger)uploadCount
|
||
retryRightNow:(BOOL)retryRightNow
|
||
uploadOnce:(BOOL)uploadOnce;
|
||
|
||
/**
|
||
* 获取组件当前版本号
|
||
*/
|
||
- (NSString *)getVersion;
|
||
|
||
/**
|
||
* 设置日志埋点上传代理对象
|
||
* 注:这里是强引用
|
||
* @param uploadDelegate 代理对象,需要实现 ACMProtocol 协议
|
||
*/
|
||
- (void)setUploadDelegate:(id<ACMProtocol> _Nullable)uploadDelegate;
|
||
|
||
/**
|
||
* 更新限流相关
|
||
* @param isLimit 是否限流
|
||
* @param limitTimeHour 限流区间大小
|
||
* @param limitCount 区间内限流次数
|
||
*/
|
||
- (void)updateLimitConfig:(BOOL)isLimit
|
||
limitTimeHour:(NSInteger)limitTimeHour
|
||
limitCount:(NSInteger)limitCount;
|
||
|
||
@end
|
||
|
||
NS_ASSUME_NONNULL_END
|