Skip to content

Latest commit

 

History

History
446 lines (266 loc) · 13.6 KB

VERSION.md

File metadata and controls

446 lines (266 loc) · 13.6 KB

===================================================================

1.3.5

2022-03-14

1.优化多线程逻辑

==============================修改说明============================== 1.3.4

【代码变更】

  1. 修复数据上报可能产生异常的问题

==============================修改说明============================== 1.3.2

【代码变更】

  1. 优化多线程取值逻辑

==============================修改说明============================== 1.3.1

【代码变更】

  1. 优化 sdk 解析数据上报

==============================修改说明============================== 1.3.0

【代码变更】

  1. 容灾能力升级,当主ip解析异常时自动切换备份ip

==============================修改说明============================== 1.2.1

【代码变更】

  1. 支持在swift项目中使用

==============================修改说明============================== 1.2.0

【代码变更】

  1. 支持DES、AES、HTTPS三种加密方式
  2. 支持批量查询
  3. 支持查询线路IP设置

==============================修改说明============================== 1.1.6.1

【代码变更】

  1. 增加WGGetDnsDetail接口

     /**
     详细数据查询接口
    
     @param domain 域名
    
     @return 查询到的详细信息
      格式示例:
      {
      "v4_ips":"1.1.1.1,2.2.2.2",
      "v6_ips":"FF01::1,FF01::2",
      "v4_ttl":"100",
      "v6_ttl":"100",
      "v4_client_ip":"6.6.6.6"
      "v6_client_ip":"FF01::6"
      }
     */
     - (NSDictionary *) WGGetDnsDetail:(NSString *) domain;
    

==============================修改说明============================== 1.1.6

【代码变更】

  1. 增加type aaaa请求

==============================修改说明============================== 1.1.5

【代码变更】

  1. 添加bitcode支持

==============================修改说明============================== 1.1.4

【代码变更】

  1. 修复SDK内部未持有传入dnsKey的强引用问题

==============================修改说明============================== 1.1.3

【代码变更】

  1. 修复和专版符号重复问题

==============================修改说明============================== 1.1.2

【代码变更】

  1. 优化内部处理逻辑

==============================修改说明============================== 1.1.1.1

【代码变更】

  1. 优化代码

==============================修改说明============================== 1.1.1

【代码变更】

1. 增加Http路解析供业务选择

#pragma mark - 设置业务基本信息,仅调用一次即可
/**
 设置业务基本信息(腾讯云业务使用)

 @param appkey  业务appkey,腾讯云官网(https://console.cloud.tencent.com/httpdns)申请获得,用于上报
 @param dnsid   dns解析id,腾讯云官网(https://console.cloud.tencent.com/httpdns)申请获得,用于域名解析鉴权
 @param dnsKey  dns解析key,腾讯云官网(https://console.cloud.tencent.com/httpdns)申请获得,用于域名解析鉴权
 @param debug   是否开启Debug日志,YES:开启,NO:关闭。建议联调阶段开启,正式上线前关闭
 @param timeout 超时时间,单位ms,如设置0,则设置为默认值2000ms
 @param useHttp 是否使用http路解析,YES:使用http路解析,NO:使用https路解析
 
 @return YES:设置成功 NO:设置失败
 */
- (BOOL) WGSetDnsAppKey:(NSString *) appkey DnsID:(int)dnsid DnsKey:(NSString *)dnsKey Debug:(BOOL)debug TimeOut:(int)timeout UseHttp:(BOOL)useHttp;

/**
 设置业务基本信息(腾讯内部及代理业务使用)
 
 @param appkey  业务appid,同手Q APPID
 @param debug   是否开启Debug日志,YES:开启,NO:关闭。建议联调阶段开启,正式上线前关闭
 @param timeout 超时时间,单位ms,如设置0,则设置为默认值2000ms
 @param useHttp 是否使用http路解析,YES:使用http路解析,NO:使用https路解析
 
 @return YES:设置成功 NO:设置失败
 */
- (BOOL) WGSetDnsAppKey:(NSString *) appkey Debug:(BOOL)debug TimeOut:(int)timeout UseHttp:(BOOL)useHttp;

使用方法:useHttp参数设置为YES

2. 增加ipv4/ipv6/双栈网络的判断逻辑:

  1. ipv6下,仅返回ipv6地址,即返回格式为:[0, ipv6]
  2. ipv4下,仅返回ipv4地址,即返回格式为:[ipv4, 0]
  3. 双栈网络下,返回解析到ipv4&ipv6(如果存在)地址,即返回格式为:[ipv4, ipv6]

==============================修改历史============================================ 1.1.0.1(Https版本)

【代码变更】

  1. 优化代码

==============================修改历史============================================ 1.1.0(Https版本)

【代码变更】

  1. 关键参数由在Info.plist中配置的方式改为参数传入的方式

==============================修改历史============================================ 1.0.16(Https版本)

【代码变更】

  1. 修复SNI方案中的小问题

==============================修改历史============================================ 1.0.15(Https版本)

【代码变更】

  1. 增加设置appid和timeout的接口:

     /**
      设置业务基本信息
    
      @param dnsAppId 业务appid,用于上报
      @param timeOut 超时时间,单位ms,如设置0,默认为2000ms,
      @return YES:成功 NO:失败
      */
     - (BOOL) WGSetDnsAppId:(NSString *) dnsAppId TimeOut:(int)timeOut;
    

==============================修改历史============================================ 1.0.14(Https版本)

【代码变更】

  1. #import <MSDKFoundation/MSDKFoundation.h> 更改为 #import <MSDK/MSDK.h>以兼容MSDK 3.0 以上版本

==============================修改历史============================================ 1.0.13.1(Https版本)

【代码变更】

  1. 优化代码逻辑,读取缓存更高效

==============================修改历史============================================ 1.0.12(Https版本)

【代码变更】

  1. 增加WGGetDnsOpenId接口

==============================修改历史============================================ 1.0.11.1(Https版本)

【代码变更】

  1. 修复异步解析接口偶现crash问题

==============================修改历史============================================ 1.0.11(Https版本)

【代码变更】

  1. 修复localdns解析偶现crash
  2. 上报字段新增id,key
  3. 外部应用上报增加clientIP字段
  4. localdns解析增加ipv6地址有效性判断

==============================修改历史============================================ 1.0.10(Https版本)

【代码变更】

  1. 支持https
  2. 数据上报增加SSID字段
  3. 优化遍历数组删除元素的方法

==============================修改历史============================================ 1.0.9.3(Http版本)

【代码变更】

  1. 修复异步解析接口偶现crash问题

==============================修改历史============================================ 1.0.9.2(Http版本)

【代码变更】

  1. 修复localdns解析偶现crash
  2. 上报字段新增id,key以及SSID
  3. 外部应用上报增加clientIP字段
  4. localdns解析增加ipv6地址有效性判断
  5. 优化遍历数组删除元素的方法

==============================修改历史============================================ 1.0.9.1(Http版本)

【代码变更】

  1. 优化localdns超时处理逻辑
  2. 当httpdns成功后,立即返回,无需等待localdns结果

==============================修改历史============================================ 1.0.9

【代码变更】

  1. 增加异步接口

     /**
      *  异步接口
      *  @param domain 域名
      *  @return 查询到的IP数组,超时(1s)或者未未查询到返回[0,0]数组
      */
     
     - (void) WGGetHostByNameAsync:(NSString*) domain returnIps:(void (^)(NSArray* ipsArray))handler;
    

==============================修改历史============================================ 1.0.8

【代码变更】

  1. 梳理代码逻辑,将接口返回类型由std::vector<unsigned char*>改为NSArray:

     /**
      *  同步接口
      *  @param domain 域名
      *  @return 查询到的IP数组,超时(1s)或者未未查询到返回[0,0]数组
      */
     - (NSArray*) WGGetHostByName:(NSString*) domain;
    
  2. enable module

==============================修改历史============================================ 1.0.7.8

【代码变更】

  1. 修复如服务端返回数据为非UTF8编码格式时解密会偶现crash的bug

==============================修改历史============================================ 1.0.7.7

【代码变更】

  1. 增加详细日志输出
  2. 修复偶现bug
  3. 优化内部代码逻辑

==============================修改历史============================================ 1.0.7.6

【代码变更】

  1. 去掉外层函数中不必要的超时等待逻辑
  2. 梳理逻辑,增加必要的日志打印,及注释

==============================修改历史============================================ 1.0.7.5

【代码变更】

  1. 去掉不必要的加解密功能
  2. 未配置TIME_OUT项时,默认给1s
  3. 修正上报逻辑,修复上报时dns字段为空的情况
  4. 新增unity接入文件
  5. 新增IS_TEST配置项

==============================修改历史============================================ 1.0.7.4

【代码变更】

  1. 返回结果更改为以下格式:固定返回长度为2的std::vector<unsigned char*>,其中,第一个值为解析到的ipv4地址;第二个值为解析到的ipv6地址,如不存在,则为0。

  2. 增加日志开关配置项

  3. 上报接口改为非实时上报接口

==============================修改历史============================================ 1.0.7.3

【代码变更】

  1. 增加异常处理代码

==============================修改历史============================================ 1.0.7.2

【代码变更】

  1. 如果plist文件中未配置TIME_OUT,默认为3s

==============================修改历史============================================ 1.0.7.1

【代码变更】

  1. 修复偶现bug

==============================修改历史============================================ 1.0.7

【代码变更】

  1. 更换灯塔版本,兼容MSDK2.14及以上版本

    灯塔初始化代码更改为:

     //已正常接入MSDK的游戏无需关注以下代码,未接入MSDK的外部APP调用以下代码注册灯塔
     //******************************
     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
     NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:plistPath];
     NSString *appid = dic[@"COOPERATOR_APPID "];
     [BeaconBaseInterface setAppKey:appid];
     [BeaconBaseInterface enableAnalytics:@"" gatewayIP:nil];
     //******************************
    
  2. 支持only-ipv6

==============================修改历史============================================ 1.0.6

【代码变更】

  1. 接口调用方式改回同步方式

  2. 修复返回时偶现随机字符串的bug

==============================修改历史============================================ 1.0.5

【代码变更】

  1. 接口调用方式改为异步回调方式

==============================修改历史============================================ 1.0.4

【代码变更】

  1. 支持外部游戏调用。

  2. 外部游戏接入说明(内部游戏无需关注):

2.1 引入Demo中的MSDK.framework和MSDKFoundation.framework以及MSDKDns.framework

2.2 在info.plist添加如下配置项

Key Type Value
IS_COOPERATOR Boolean 外部应用填“YES”
内部应用填“NO”
QQAppID String 腾讯内部应用对应的QQAppid
COOPERATOR_APPID String 外部应用对应的上报appid,见key_ios.txt中
TIME_OUT Number 请求httpdns超时设定时间
单位:ms
DNS_ID String 参照版本包中key_ios.txt文件中相应内容填写即可(腾讯内部应用可以不填)
DNS_KEY String 参照版本包中key_ios.txt文件中相应内容填写即可(腾讯内部应用可以不填)

2.3 在AppDelegate.m中引入头文件 #import <MSDK/MSDK.h>

2.4 在application:didFinishLaunchingWithOptions:加入注册灯塔代码

//已正常接入MSDK的游戏无需关注以下代码,未接入MSDK的游戏调用以下代码注册灯塔
//******************************
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSString *appid = dic[@"QQAppID"];
[AnalyticsInterface setAppKey:appid];
[AnalyticsInterface enableAnalytics:@"" gatewayIP:nil];
//******************************

2.5 在需要使用Dns的地方引入Dns头文件#import <MSDKDns/MSDKDns.h>,传入域名调用接口,具体调用可参考Demo中DnsVC.m dnsButtonDidClicked:方法

==============================修改历史============================================ 1.0.3

【代码变更】

1.支持iOS9编译,支持bitcode。

2.支持分线程调用。

==============================修改历史============================================ 1.0.2

【代码变更】

1.修改灯塔上报字段、上报逻辑。

2.修正LocalDns解析域名错误的问题。

==============================修改历史============================================ 1.0.0

【代码变更】

1.【NEW】新增如下两个接口:

 /**
 *
 *  @param domain 域名
 *  @return 查询到的IP数组,超时(3s)或者未未查询到返回空数组
 */
std::vector<unsigned char*> WGGetHostByName(unsigned char* domain);

/**
 *  Log开关
 *  @param enabled true:打开 false:关闭
 */
void WGOpenMSDKDnsLog(bool enabled);

【注意事项】

  1. MSDKDns.framework依赖于MSDK2.4.0i及其以上版本。