跳转至

快速开始

本文用于提供 macOS RUM SDK 的最短接入路径,帮助您以最少步骤完成一次可验证的数据上报。

前置准备

开始前,请先完成以下准备:

  1. 用户访问监测中创建 macOS 应用,并获取 RUM App ID
  2. 确认上报地址与认证方式
  3. 本地环境部署:准备 datakitUrl
  4. 公网 DataWay:准备 datawayUrlclientToken
  5. 确认项目已经完成 SDK 安装,支持 CocoaPodsSwift Package Manager

接入步骤

  1. 在项目中安装 FTMacOSSDK
  2. 在应用启动前初始化 FTSDKConfig
  3. 初始化 FTRumConfig 并开启 View、Action、Resource、崩溃和卡顿采集
  4. 保持调试日志开启,运行应用并触发一次窗口切换或网络请求
  5. 在控制台与观测云平台确认数据已成功上报

安装 SDK

安装方式请直接参考 应用接入

如果您只想快速验证,推荐优先使用 CocoaPodsSwift Package Manager

最小初始化示例

由于第一个显示的视图 NSViewControllerviewDidLoad 方法、NSWindowControllerwindowDidLoad 方法调用要早于 AppDelegate applicationDidFinishLaunching,为避免第一个视图的生命周期采集异常,建议在 main.mmain.swift 中进行 SDK 初始化。

// main.m 文件
#import "FTMacOSSDK.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 本地环境部署使用 [[FTSDKConfig alloc] initWithDatakitUrl:datakitUrl]
        FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatawayUrl:datawayUrl clientToken:clientToken];
        config.enableSDKDebugLog = YES;
        [FTSDKAgent startWithConfigOptions:config];

        FTRumConfig *rumConfig = [[FTRumConfig alloc] initWithAppid:appid];
        rumConfig.enableTrackAppCrash = YES;
        rumConfig.enableTrackAppANR = YES;
        rumConfig.enableTrackAppFreeze = YES;
        rumConfig.enableTraceUserAction = YES;
        rumConfig.enableTraceUserView = YES;
        rumConfig.enableTraceUserResource = YES;
        rumConfig.errorMonitorType = FTErrorMonitorAll;
        rumConfig.deviceMetricsMonitorType = FTDeviceMetricsMonitorAll;
        [[FTSDKAgent sharedInstance] startRumWithConfigOptions:rumConfig];
    }
    return NSApplicationMain(argc, argv);
}
import Cocoa
import FTMacOSSDK

let delegate = AppDelegate()
NSApplication.shared.delegate = delegate

// 本地环境部署使用 FTSDKConfig(datakitUrl: datakitUrl)
let config = FTSDKConfig(datawayUrl: datawayUrl, clientToken: clientToken)
config.enableSDKDebugLog = true
FTSDKAgent.start(withConfigOptions: config)

let rumConfig = FTRumConfig(appid: appid)
rumConfig.enableTraceUserAction = true
rumConfig.enableTrackAppANR = true
rumConfig.enableTraceUserView = true
rumConfig.enableTraceUserResource = true
rumConfig.enableTrackAppCrash = true
rumConfig.enableTrackAppFreeze = true
rumConfig.errorMonitorType = .all
rumConfig.deviceMetricsMonitorType = .all
rumConfig.monitorFrequency = .rare
FTSDKAgent.sharedInstance().startRum(withConfigOptions: rumConfig)

_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)

使用 Swift 时,请先创建 main.swift 文件,并删除 AppDelegate.swift 中的 @main@NSApplicationMain

可选:初始化 Log 和 Trace

如果您还需要日志采集或链路追踪,可继续追加以下初始化:

FTLoggerConfig *loggerConfig = [[FTLoggerConfig alloc] init];
loggerConfig.enableCustomLog = YES;
loggerConfig.enableLinkRumData = YES;
[[FTSDKAgent sharedInstance] startLoggerWithConfigOptions:loggerConfig];

FTTraceConfig *traceConfig = [[FTTraceConfig alloc] init];
traceConfig.enableAutoTrace = YES;
traceConfig.enableLinkRumData = YES;
[[FTSDKAgent sharedInstance] startTraceWithConfigOptions:traceConfig];
let loggerConfig = FTLoggerConfig()
loggerConfig.enableCustomLog = true
loggerConfig.enableLinkRumData = true
FTSDKAgent.sharedInstance().startLogger(withConfigOptions: loggerConfig)

let traceConfig = FTTraceConfig()
traceConfig.enableAutoTrace = true
traceConfig.enableLinkRumData = true
FTSDKAgent.sharedInstance().startTrace(withConfigOptions: traceConfig)

验证接入是否成功

  1. 保持 enableSDKDebugLog = YES/true 开启,运行应用
  2. 打开一个窗口,或发起一次 URLSession 网络请求
  3. 在 Xcode 控制台中确认出现 SDK 初始化和数据同步相关日志
  4. 返回观测云控制台,确认应用中已出现对应的 RUM 数据

如果需要进一步排查,请查看 故障排查

下一步

文档评价

文档内容是否对您有帮助? ×