跳到主要内容

部署说明

获取基调听云SDK

CocoaPods集成

在项目工程的Podfile文件中添加以下代码:

pod 'tingyunApp'

//选配功能
pod 'NBSGMKit' // SDK传输数据使用国密加密
pod 'TingyunLog' // 日志回捞功能
pod 'NBSOOM' // OOM崩溃采集功能
pod 'NBSReplayKit' // 视频回放功能
pod 'NBSCPUMonitorKit' // CPU监控

保存后执行 pod install

手动集成

  1. 解压后将tingyunApp.xcframework拖拽到xcode工程中并勾选「Copy items if needed」。

  2. 选择工程 TARGETS → Build Settings → 搜索「Other Linker Flags」并添加编译标志【-ObjC】。

  3. 添加依赖库。

依赖库作用
libz.tbd解压缩
WebKit.framework浏览器内核
Security.framework访问钥匙链
CoreTelephony.framework获取运营商
SystemConfiguration.framework获取网络状态
JavaScriptCore.framework支持js自定义错误功能
CoreGraphics.framework支持可视化命名功能
QuartzCore.framework支持可视化命名功能
CFNetwork.framework支持移动拨测功能
libresolv.tbd支持移动拨测功能
libc++.tbdc++符号化

SDK功能依赖库「可选配」

库名功能
NBSGMKit.frameworkSDK传输数据使用国密加密;NBSGMKit.framework为动态库
TingyunLog.xcframework日志回捞
NBSOOM.xcframeworkOOM崩溃采集
NBSReplayKit.xcframework视频回放
NBSCPUMonitorKit.xcframeworkCPU监控

添加基调听云SDK

  1. 获取基调听云host与App Key。

    App Key及host地址请从基调听云平台中获取,详情参照以下步骤。

    1. 进入应用「设置」。

    2. 在「基础设置」中复制App Key及host。

  2. 导入头文件。

    • Objective-C 请在工程的「pch」文件中导入头文件。

      #import <tingyunApp/NBSAppAgent.h>
    • Swift 请在工程的「Bridging_Header.h」文件中导入头文件。

      #import <tingyunApp/NBSAppAgent.h>

注:若使用「日志回捞」功能,需导入日志库头文件: #import <TingyunLog/TingyunLog.h>

  1. 引入 SDK。

    • Objective-C

      在工程「main.m」文件中的「main」方法中初始化 SDK。

        int main(int argc, char * argv[]) {
      @autoreleasepool {
      //首次启动开启网络模块、用户体验模块、崩溃模块采集数据,仅首次启动生效
      [NBSAppAgent setStartOption:NBSOption_Net|NBSOption_UI|NBSOption_Crash];
      //默认为https,如果redirect_host为http协议的话则需要调用该接口。
      [NBSAppAgent setHttpEnabled:YES];
      //redirect_host为平台服务器地址
      [NBSAppAgent setRedirectURL:@"redirect_host"];
      //Your_appkey从平台中获取
      [NBSAppAgent startWithAppID:@"Your_appkey"];
      return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
      }
      }
    • Swift

      在「AppDelegate.swift」的「application(_:didFinishLaunchingWithOptions:)」方法中初始化 SDK。

        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

      NBSAppAgent.setStartOption(Int32(NBSOPTION.NBSOption_Net.rawValue)|Int32(NBSOPTION.NBSOption_UI.rawValue)|Int32(NBSOPTION.NBSOption_Crash.rawValue)) //首次启动开启网络模块、用户体验模块、崩溃模块采集数据,仅首次启动生效
      //默认为https,如果redirect_host为http协议的话则需要调用该接口。
      NBSAppAgent.setHttpEnabled(true)
      NBSAppAgent.setRedirectURL("redirect_host")
      NBSAppAgent.start(withAppID: "Your_appkey")
      return true
      }

      说明:若需要采集应用启动数据,请参考采集应用启动参数

权限配置说明

由于「移动拨测」-「MTR」功能需要访问Local Network,若配置了「MTR」功能,需在Info.plist中配置Local Network权限。

获取用户标识

通过添加「用户标识」可在基调听云报表平台通过该标识检索到具体用户的性能问题。

  • 相关接口

    /*
    设置用户标识符,不能超过64个字符,可以在任意位置多次调用(值覆盖)
    @userId:唯一标识一个用户的信息
    */
    + (void)setUserIdentifier:(NSString *)userId;
  • 代码示例

    - (void)viewDidLoad
    {
    [super viewDidLoad];
    //用户标识可为邮箱、手机号等能够标识用户身份的信息,如xxx@tingyun.com
    [NBSAppAgent setUserIdentifier:@"userId"];
    }

嵌码完整性校验

嵌码完成后,可以在控制台中查看基调听云App SDK 日志输出结果用以判断嵌码是否成功。

  • 日志输出
  NBSAppAgent  SDK_Version
NBSAppAgent start!
Success to connect to NBSSERVER

附录(可选配置)

开启可视化命名

开启可视化命名功能,可以通过在App应用内点选的方式为「原生页面」和「操作」进行重命名并在用户体验模块中展示。

  1. 获取 Scheme。

    • 在应用「设置」中的「基础设置」中选择【URL Scheme】。

  2. 将获取到的「URL Scheme」添加到TARGETS → Info → URL Scheme 中。

SDK传输数据使用国密加密

SDK传输数据支持国密加密,调用该接口开启国密加密,默认不开启「前提:需工程中导入NBSGMKit.framework且后端需要设置开启国密(请联系技术支持设置开启后端国密加密)」。

说明:该接口需要在SDK初始化时调用。

  • 相关接口

    /**
    @need 传入yes,则SDK传输数据使用国密加密。
    */
    + (void)encryptionRequired:(BOOL)need;
  • 代码示例

    int main(int argc, char * argv[]) {
    @autoreleasepool {
    //开启国密加密
    [NBSAppAgent encryptionRequired:YES];
    //默认为https,如果redirect_host为http协议的话则需要调用该接口。
    [NBSAppAgent setHttpEnabled:YES];
    //redirect_host为平台服务器地址
    [NBSAppAgent setRedirectURL:@"redirect_host"];
    //Your_appkey从平台中获取
    [NBSAppAgent startWithAppID:@"Your_appkey"];
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
    }