BDPDynamicParameters.h 2.09 KB
//
//  BDPDynamicParameters.h
//  BDPCommonParams
//
//  Created by Guo,Jin(MAD) on 2017/11/13.
//  Copyright © 2017年 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

//网络类型(服务器协议数据)
typedef NS_ENUM(NSInteger, TNetWorkType) {
    ENetworkWIFI = 0,
    ENetworkGPRS = 1,
    ENetworkEdge = 2,
    ENetworkWCDMA = 3,
    ENetworkHSDPA = 8,
    ENetworkHSUPA = 9,
    ENetworkCDMA1x = 4,
    ENetworkCDMAEVDORev0 = 5,
    ENetworkCDMAEVDORevB = 12,
    ENetworkCDMAEVDORevA = 6,
    ENetworkeHRPD = 14,
    ENetworkLTE = 13,
    ENetworkNRNSA = 19,
    ENetworkNR = 20,
    ENetworkUnknown = -1
};

//运营商类型(服务器协议数据)
typedef NS_ENUM(NSUInteger, TCarrier) {
    ECarrierIgnore          = 1,    //WiFi状态下忽略运营商
    ECarrierCMCC            = 51,   //中国移动
    ECarrierChinaUnicom     = 52,   //中国联通
    ECarrierChinaTelecom    = 53,   //中国电信
    ECarrierOther           = 6     //其他运营商
};

NS_ASSUME_NONNULL_BEGIN

@interface BDPDynamicParameters : NSObject

/**
 * @brief 获取当前网络类型的字符串表示
 *
 * @return WiFi 2G 3G 4G 5G
 */
+ (NSString*)currentNetworkTypeString;

/**
 * @brief 获取网络类型的数字表示
 *
 * @return "0": "unknown" ; "1" : "wifi" ; "2" : "2G" ; "3" : "3G" ; "4" : "4G";"5" : "5G"
 */
+ (NSString*)currentNetworkTypeNumberStr;

/**
 * @brief 获取当前WiFi下Mac地址
 *
 * @return Mac地址
 */
+ (nullable NSString *)currentWifiBSSID;

/**
 * @brief 获取网络类型
 *
 * @return TNetWorkType
 */
+ (TNetWorkType)networkType;//获取网络类型

/**
 * @brief 获取运营商信息
 *
 * @return TCarrier
 */
+ (TCarrier)carrier;

/**
 * @brief 获取运营商名
 *
 * @return NSString
 */
+ (NSString *)carrierName;

/**
 * @brief 获取运营商网络参数
 *
 * @return 运营商网络参数
 */
+ (NSString*)carrierRadioAccessTechParam;

/**
 * @brief 组合 Mac地址 adid idfv 和 服务器制定的参数格式,用户隐私弹窗没有确认前获取,返回的是 @"NUL"
 *
 * @return NSString
 */
+ (NSString *)composeMAID;

@end

NS_ASSUME_NONNULL_END