コンテンツにスキップ

クイックスタート

本ドキュメントは、macOS RUM SDK の最短統合パスを提供し、最小限の手順で検証可能なデータアップロードを実現することを目的としています。

事前準備

始める前に、以下の準備を完了してください。

  1. リアルユーザーモニタリング(RUM) で macOS アプリケーションを作成し、RUM App ID を取得します。
  2. アップロードアドレスと認証方式を確認します。
  3. ローカル環境デプロイメント:datakitUrl を準備します。
  4. パブリック DataWay:datawayUrl と clientToken を準備します。
  5. プロジェクトがすでに SDK のインストールを完了しており、CocoaPods または Swift Package Manager をサポートしていることを確認します。

統合手順

  1. プロジェクトに FTMacOSSDK をインストールします。
  2. アプリケーション起動前に FTSDKConfig を初期化します。
  3. FTRumConfig を初期化し、View、Action、Resource、クラッシュ、フリーズの収集を有効にします。
  4. デバッグログを有効にしたまま、アプリケーションを実行し、ウィンドウの切り替えまたはネットワークリクエストを一度トリガーします。
  5. コンソールと Guance プラットフォームで、データが正常にアップロードされたことを確認します。

SDK のインストール

インストール方法については、直接 アプリケーションの統合 を参照してください。

簡単に検証したい場合は、CocoaPods または Swift Package Manager を優先的に使用することをお勧めします。

最小初期化サンプル

最初に表示されるビュー NSViewController の viewDidLoad メソッド、NSWindowController の windowDidLoad メソッドの呼び出しは、AppDelegate の applicationDidFinishLaunching よりも早いため、最初のビューのライフサイクル収集が異常になるのを防ぐために、main.m または main.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. Guance コンソールに戻り、アプリケーションに対応する RUM データが表示されていることを確認します。

さらに調査が必要な場合は、トラブルシューティング を参照してください。

次のステップ

フィードバック

このページは役に立ちましたか?