feat: 自定义的插件
This commit is contained in:
43
Libs/YTXMonitor.framework/Headers/ACMConfig.h
Normal file
43
Libs/YTXMonitor.framework/Headers/ACMConfig.h
Normal file
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// ACMConfig.h
|
||||
// ATAuthSDK
|
||||
//
|
||||
// Created by 刘超的MacBook on 2020/5/19.
|
||||
// Copyright © 2020. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "ACMUploadInterface.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, ACMMonitorUploadType) {
|
||||
ACMMonitorUploadTypeRealTime, //实时上传,暂时不支持,如果采用这个方式将以默认的轮询上传实现
|
||||
ACMMonitorUploadTypeCirculate, //轮询上传
|
||||
ACMMonitorUploadTypeManual //手动上传
|
||||
};
|
||||
|
||||
@interface ACMConfig : NSObject
|
||||
|
||||
+ (instancetype)sharedInstance;
|
||||
|
||||
/// 日志是否入库,默认NO
|
||||
@property (atomic, assign) BOOL loggerIsSaveInDB;
|
||||
/// 埋点是否入库,默认YES
|
||||
@property (atomic, assign) BOOL monitorIsSaveInDB;
|
||||
/// 日志是否上传,默认NO
|
||||
@property (atomic, assign) BOOL loggerIsUpload;
|
||||
/// 埋点是否上传,默认YES
|
||||
@property (atomic, assign) BOOL monitorIsUpload;
|
||||
|
||||
/// 日志埋点组件上传type,默认 ACMMonitorUploadTypeManual
|
||||
@property (nonatomic, assign) ACMMonitorUploadType uploadType;
|
||||
/// 日志埋点组件上传代理对象,注:这里是弱引用,组件外面需要保证该上传对象不要被释放,如果被释放掉将影响日志埋点的上传
|
||||
@property (nonatomic, weak) id<ACMProtocol> uploadDelegate;
|
||||
|
||||
/// 更新日志埋点组件限流信息
|
||||
- (void)setLimitConfig:(NSDictionary *)info;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
34
Libs/YTXMonitor.framework/Headers/ACMLogger.h
Normal file
34
Libs/YTXMonitor.framework/Headers/ACMLogger.h
Normal file
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// ACMLogger.h
|
||||
// Monitor
|
||||
//
|
||||
// Created by Vienta on 2019/11/13.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ACMLogger : NSObject
|
||||
|
||||
+ (BOOL)verboseRecord:(id)obj;
|
||||
|
||||
+ (BOOL)debugRecord:(id)obj;
|
||||
|
||||
+ (BOOL)infoRecord:(id)obj;
|
||||
|
||||
+ (BOOL)warnRecord:(id)obj;
|
||||
|
||||
+ (BOOL)errorRecord:(id)obj;
|
||||
|
||||
/**
|
||||
* 日志上传
|
||||
* @param startDate 日志开始时间,如果传nil则查询不加该条件
|
||||
* @param endDate 日志结束时间,如果传nil则查询不加该条件
|
||||
* @param levels 日志等级数组,里面包含对应的日志等级字符串,如果传nil则查询不加该条件
|
||||
*/
|
||||
+ (void)uploadLoggerRecordsWithStartDate:(NSDate * _Nullable)startDate endDate:(NSDate * _Nullable)endDate levels:(NSArray <NSString *>* _Nullable)levels;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
35
Libs/YTXMonitor.framework/Headers/ACMMonitor.h
Normal file
35
Libs/YTXMonitor.framework/Headers/ACMMonitor.h
Normal file
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// ACMMonitor.h
|
||||
// Monitor
|
||||
//
|
||||
// Created by Vienta on 2019/11/13.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ACMMonitor : NSObject
|
||||
|
||||
/**
|
||||
* 上传非实时埋点
|
||||
* @param obj 埋点内容
|
||||
* @return 埋点存储结果
|
||||
*/
|
||||
+ (BOOL)monitorRecord:(id)obj;
|
||||
|
||||
/**
|
||||
* 上传实时埋点
|
||||
* @param obj 埋点内容
|
||||
* @return 埋点上传准备结果
|
||||
*/
|
||||
+ (BOOL)monitorRealtimeRecord:(id)obj;
|
||||
|
||||
/**
|
||||
* 开始手动上传,在设置uploadType为ACMMonitorUploadManual时生效
|
||||
*/
|
||||
+ (void)uploadMonitorByManual;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
25
Libs/YTXMonitor.framework/Headers/ACMUploadInterface.h
Normal file
25
Libs/YTXMonitor.framework/Headers/ACMUploadInterface.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// ACMUploadInterface.h
|
||||
// Monitor
|
||||
//
|
||||
// Created by 沈超 on 2019/12/17.
|
||||
//
|
||||
|
||||
@protocol ACMProtocol <NSObject>
|
||||
|
||||
@required
|
||||
/**
|
||||
* 埋点聚合上传(包括轮询和手动)
|
||||
* @param monitors 需要上传的埋点信息
|
||||
* @return 上传是否成功,建议上传采用同步策略
|
||||
*/
|
||||
- (BOOL)uploadMonitors:(NSArray<NSDictionary *> *)monitors;
|
||||
|
||||
/**
|
||||
* 日志上传
|
||||
* @param logContents 需要上传的日志
|
||||
* @return 上传是否成功,建议上传采用同步策略
|
||||
*/
|
||||
- (BOOL)uploadLogs:(NSArray<NSDictionary *> *)logContents;
|
||||
|
||||
@end
|
||||
26
Libs/YTXMonitor.framework/Headers/ACMUploadManager.h
Normal file
26
Libs/YTXMonitor.framework/Headers/ACMUploadManager.h
Normal file
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// ACMUploadManager.h
|
||||
// Monitor
|
||||
//
|
||||
// Created by Vienta on 2019/11/13.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ACMUploadManager : NSObject
|
||||
|
||||
/**
|
||||
* 上传失败的数据,同时会上传埋点和日志的数据,如果有降级限流的情况,最好是在设置完成相应的降级接口(setACMLoggerEnable:和 setACMMonitorEnable)之后调用
|
||||
*/
|
||||
+ (void)uploadFailedData;
|
||||
|
||||
/**
|
||||
* 业务层配置降级限流
|
||||
*/
|
||||
+ (void)setLimitConfig:(NSDictionary *)info;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
22
Libs/YTXMonitor.framework/Headers/YTXMonitor.h
Normal file
22
Libs/YTXMonitor.framework/Headers/YTXMonitor.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// YTXMonitor.h
|
||||
// YTXMonitor
|
||||
//
|
||||
// Created by li yang on 2020/11/23.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
//! Project version number for YTXMonitor.
|
||||
FOUNDATION_EXPORT double YTXMonitorVersionNumber;
|
||||
|
||||
//! Project version string for YTXMonitor.
|
||||
FOUNDATION_EXPORT const unsigned char YTXMonitorVersionString[];
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <YTXMonitor/PublicHeader.h>
|
||||
|
||||
#import "ACMLogger.h"
|
||||
#import "ACMMonitor.h"
|
||||
#import "ACMConfig.h"
|
||||
#import "ACMUploadInterface.h"
|
||||
#import "ACMUploadManager.h"
|
||||
BIN
Libs/YTXMonitor.framework/Info.plist
Normal file
BIN
Libs/YTXMonitor.framework/Info.plist
Normal file
Binary file not shown.
6
Libs/YTXMonitor.framework/Modules/module.modulemap
Normal file
6
Libs/YTXMonitor.framework/Modules/module.modulemap
Normal file
@@ -0,0 +1,6 @@
|
||||
framework module YTXMonitor {
|
||||
umbrella header "YTXMonitor.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
BIN
Libs/YTXMonitor.framework/YTXMonitor
Normal file
BIN
Libs/YTXMonitor.framework/YTXMonitor
Normal file
Binary file not shown.
Reference in New Issue
Block a user