BBAUpdateInterfaceClassProtocol.h 1.46 KB
//
//  BBAUpdateInterfaceClassProtocol.h
//  BBAComs-BBAUpdate
//
//  Created by 樊帅飞 on 2017/11/1.
//

#ifndef BBAUpdateInterfaceClassProtocol_h
#define BBAUpdateInterfaceClassProtocol_h

#import <Foundation/Foundation.h>

/**
 *  错误回调
 *  @param identifier update请求的业务id  例"home/home_logo"
 *  @param message 错误的描述
 */
typedef void(^BBAUpdateErrorCallback)(NSString *identifier, NSString *message);

/**
 如果想通过update接口请求数据,将遵守该协议的类注册到BBAUpdateManager;
 注:该协议中的方法会在异步线程被调用;
 */
@protocol BBAUpdateInterfaceClassProtocol <NSObject>

@required

/**
 update请求参数

 @return 参数字典
 */
+ (NSArray *)updateInterfaceParameters;

@optional

/**
 update请求成功立即分发数据

 @param data update请求的数据
 */
+ (void)updateInterfaceDistributionData:(NSDictionary *)data __attribute__((deprecated("请使用 +updateInterfaceDistributionData: errorCallback: 方法")));


/**
 update请求成功立即分发数据
 @param data update请求的数据
 @param errorCallback 节点下发错误的回调,用于可用性打点
 */
+ (void)updateInterfaceDistributionData:(NSDictionary *)data errorCallback:(BBAUpdateErrorCallback)errorCallback;

/**
 分发优先级 数字越大优先级越高,除非特别需要无须实现该方法;

 @return NSInteger 默认是1;
 */
+ (NSInteger)priority;

@end

#endif /* BBAUpdateInterfaceClassProtocol_h */