BDPCommonParamsGetter.h 1.61 KB
//
//  BDPCommonParamsGetter.h
//  BDPCommonParams
//
//  Created by Zhu,Yusong on 2019/4/10.
//  Copyright © 2019 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

@protocol BDPCommonParamsGetter <NSObject>

@optional

#pragma mark - 依赖其他组件,默认为nil, 建议产品线实现

/// 设备的唯一标识 baiducuid算法
- (NSString *)uid;

/// passSDK生成的设备指纹id
- (NSString *)zid;

/// abtest进行实验的参数
- (NSString *)sid;

/// 标识免流用户类型
- (NSString *)bdvc;

/// 区域pingbi参数
- (NSString *)st;

/// 获取网络状况 弱网优化会用到
- (NSString *)networkState;

#pragma mark - 不依赖其他组件,有默认值,产品线可以不实现

/// 产品线唯一标识
- (NSString *)appname;

/// 用户所在的网络类型
- (NSString *)network;

/// 用户平台类型、客户端版本等信息
- (NSString *)ua;

/// 机型和系统版本号信息
- (NSString *)ut;

/// 获取预置渠道
- (NSString *)from;

/// 获取渠道
- (NSString *)cFrom;

/// appInstanceID。基于uuid生成,经过加密处理
/// 与cuid store中的instance id一致
/// 默认值为 @""
- (NSString *)iid;

/// 是否启用iid
/// iid表示appInstanceID。基于uuid生成,经过加密处理
/// 与cuid store中的instance id一致
/// 默认值为NO
- (BOOL)iidEnabled;

#pragma mark - 扩展公参的协议,产品线根据需要增加自己的公参

/// 扩展公参,需要增加自己的公参,如果已有公参,不支持覆写,
/// 例如之前已经设置appname,extendParams就不能修改appname
- (NSDictionary<NSString *, NSString *> *)extendParams;

@end