You need to enable JavaScript to run this app.
TrafficRoute DNS 套件

TrafficRoute DNS 套件

复制全文
iOS SDK
验证 HTTPDNS 解析是否生效
复制全文
验证 HTTPDNS 解析是否生效

本文档介绍了在集成 iOS SDK 后,如何验证 HTTPDNS 解析是否生效。
您可以通过查看 SDK 日志的方法验证 HTTPDNS 解析是否生效。

操作步骤

  1. 在初始化 SDK 时调用 setHttpDnsMonitorBlock 方法设置监控回调。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    
       ...
    
       [[TTDnsResolver shareInstance] setHttpDnsMonitorBlock:^(NSDictionary* json, NSString* logtype) {
           [TTDnsSdkConfig sharedInstance].getMonitorBlock(json, logtype);
       }];
    }
    
  2. 自行实现监控回调。原生 NSURLProtocol 集成方案、WKWebView 集成方案和自定义 NSURLProtocol 集成方案的监控回调实现有差异。

    - (Monitorblock)getMonitorBlock {
        Monitorblock block = ^(NSDictionary* json, NSString* logType) {
           NSData* jsonData = [NSJSONSerialization dataWithJSONObject:json options:0 error:0];
           NSString* dataStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
           NSLog(@"monitor log: log type: %@,message: %@, ", logType, dataStr);
        };
        return block;
    }
    

例如,下面的日志说明 HTTPDNS 解析生效。

request success
200
Optional("<NSHTTPURLResponse: 0x6000008b0560> { URL: https://www.douyin.com/ } { Status Code: 200, Headers {\n    \"Content-Encoding\" =     (\n        br\n    );\n    \"Content-Type\" =     (\n        \"text/html\"\n    );\n    Date =     (\n        \"Mon, 19 Feb 2024 10:35:22 GMT\"\n    );\n    Server =     (\n        Tengine\n    );\n    \"Strict-Transport-Security\" =     (\n        \"max-age=31536000; includeSubDomains; preload\"\n    );\n    Vary =     (\n        \"Accept-Encoding\"\n    );\n    Via =     (\n        \"live6.cn622[74,0]\"\n    );\n    eagleid =     (\n        8be3e62a17083389226378096e\n    );\n    \"server-timing\" =     (\n        \"inner; dur=32, tt_agw; dur=19\",\n        \"cdn-cache;desc=MISS,edge;dur=0,origin;dur=74\"\n    );\n    \"timing-allow-origin\" =     (\n        \"*\"\n    );\n    \"tt_stable\" =     (\n        1\n    );\n    \"x-agw-info\" =     (\n        \"k-HDB7Wk8En_IJOj_xGEjw4uNR_KxttVV9ne79KdD_guckpioEU80NNONl7zzbRwlS9tGHUfmpl5DLCrbyUxX99-7uN5mb54sHCMDbhepOJub2Di5an4Od0zMOVCZJ0Q8-RNrZfQukdyHNSoE2l1Xoe2fiA=\"\n    );\n    \"x-tt-logid\" =     (\n        2024021918352223412BC492F09306E817\n    );\n    \"x-tt-trace-host\" =     (\n        01b7017dff4ce0f406a999452065523f2eeba9e740373653184752922b0275ddb5a3b8f863347f62661a7b49110bf3c462717df38821032b585e7ae47e70e86d0e6ba12bc05a57bfc5e44ad691f47a77a5ddfdde18a83abe70da6574f7ed4dbc83\n    );\n    \"x-tt-trace-id\" =     (\n        \"00-24021918352223412BC492F09306E817-7196BE6E024F2DEA-00\"\n    );\n    \"x-tt-trace-tag\" =     (\n        \"id=03;cdn-cache=miss;type=dyn\"\n    );\n} }")

后续步骤

在您的 App 上线前,火山引擎建议您把 HTTPDNS SDK 返回的日志信息上报到您的 App 服务端,用于记录和数据统计。建议上报的日志信息包括 DNS 解析结果来源、解析异常错误码、SDK 解析耗时、SDK 是否命中缓存等。

在 App 灰度上线过程中,您需要关注您上报的日志信息是否存在异常。如果日志信息出现异常,您需要停止灰度并排查问题。

最近更新时间:2024.08.15 19:55:59
这个页面对您有帮助吗?
有用
有用
无用
无用