コンテンツにスキップ

クイックスタート

この記事では、iOS/tvOS/macOS RUM SDK の最短導入パスを提供し、最小限の手順で検証可能なデータアップロードを完了する方法を説明します。

事前準備

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

  1. リアルユーザーモニタリング(RUM) で iOS、tvOS または macOS アプリケーションを作成し、RUM App ID を取得します
  2. アップロード先アドレスと認証方式を確認します:
  3. ローカル環境デプロイ:datakitUrl を準備
  4. パブリックネットワーク DataWay:datawayUrlclientToken を準備
  5. プロジェクトに SDK がインストールされていることを確認します。Swift Package Manager を推奨しますが、CocoaPodsCarthage も互換性があります。

導入手順

  1. プロジェクトに GuanceSDK をインストールします
  2. アプリ起動時に FTSDKConfig を初期化します
  3. FTRumConfig を初期化し、View、Action、Resource、クラッシュ、フリーズの収集を有効にします
  4. デバッグログを有効にし、アプリを実行してページを開くかネットワークリクエストを 1 回トリガーします
  5. コンソールと Guance プラットフォームでデータが正常にアップロードされたことを確認します

SDK のインストール

インストール方法は アプリケーション接続 を参照してください。

クイック検証のみの場合は、Swift Package Manager を優先して使用することを推奨します。既存の依存関係管理の制約がある場合にのみ CocoaPods または Carthage を選択してください。

最小限の初期化例

iOS/tvOS では通常、AppDelegate で初期化します。macOS では、最初に表示される NSViewControllerviewDidLoad メソッドや NSWindowControllerwindowDidLoad メソッドの呼び出しが AppDelegate の applicationDidFinishLaunching よりも早いため、最初のビューのライフサイクル収集の異常を避けるために、main.m または main.swift で SDK の初期化を行うことを推奨します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // ローカル環境デプロイでは [[FTSDKConfig alloc] initWithDatakitUrl:datakitUrl] を使用します
    FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatawayUrl:datawayUrl clientToken:clientToken];
    config.enableSDKDebugLog = YES;
    [FTMobileAgent startWithConfigOptions:config];

    FTRumConfig *rumConfig = [[FTRumConfig alloc] initWithAppid:appid];
    rumConfig.enableTraceUserView = YES;
    rumConfig.enableTraceUserAction = YES;
    rumConfig.enableTraceUserResource = YES;
    rumConfig.enableTrackAppFreeze = YES;
    rumConfig.enableTrackAppCrash = YES;
    rumConfig.enableTrackAppANR = YES;
    [[FTMobileAgent sharedInstance] startRumWithConfigOptions:rumConfig];
    return YES;
}
// main.m ファイル
#import <Cocoa/Cocoa.h>
#import <GuanceSDK/GuanceSDK.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.enableTraceUserView = YES;
        rumConfig.enableTraceUserAction = YES;
        rumConfig.enableTraceUserResource = YES;
        rumConfig.enableTrackAppFreeze = YES;
        rumConfig.enableTrackAppCrash = YES;
        rumConfig.enableTrackAppANR = YES;
        rumConfig.errorMonitorType = FTErrorMonitorAll;
        rumConfig.deviceMetricsMonitorType = FTDeviceMetricsMonitorAll;
        [[FTSDKAgent sharedInstance] startRumWithConfigOptions:rumConfig];
    }
    return NSApplicationMain(argc, argv);
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // ローカル環境デプロイでは FTSDKConfig(datakitUrl: datakitUrl) を使用します
    let config = FTSDKConfig(datawayUrl: datawayUrl, clientToken: clientToken)
    config.enableSDKDebugLog = true
    FTMobileAgent.start(withConfigOptions: config)

    let rumConfig = FTRumConfig(appid: appid)
    rumConfig.enableTraceUserView = true
    rumConfig.enableTraceUserAction = true
    rumConfig.enableTraceUserResource = true
    rumConfig.enableTrackAppFreeze = true
    rumConfig.enableTrackAppCrash = true
    rumConfig.enableTrackAppANR = true
    FTMobileAgent.sharedInstance().startRum(withConfigOptions: rumConfig)
    return true
}
import Cocoa
import GuanceSDK
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.enableTraceUserView = true
rumConfig.enableTraceUserAction = true
rumConfig.enableTraceUserResource = true
rumConfig.enableTrackAppFreeze = true
rumConfig.enableTrackAppCrash = true
rumConfig.enableTrackAppANR = true
rumConfig.errorMonitorType = .all
rumConfig.deviceMetricsMonitorType = .all
FTSDKAgent.sharedInstance().startRum(withConfigOptions: rumConfig)

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

Swift を使用する場合は、まず main.swift ファイルを作成し、AppDelegate.swift から @main または @NSApplicationMain を削除してください。

上記の例は最小限の RUM 導入を満たしており、デフォルトでクラッシュとフリーズの検出が有効になっています。ローカル環境デプロイを使用する場合は、initWithDatawayUrl:clientToken: / FTSDKConfig(datawayUrl:clientToken:)initWithDatakitUrl: / FTSDKConfig(datakitUrl:) に置き換えてください。FTMobileConfig は現在も互換性がありますが、新しいコードでは FTSDKConfig の使用を推奨します。macOS は現在 Alpha バージョンであり、すべての iOS 機能をサポートすることを保証するものではありません。

オプション:Log と Trace の初期化

ログ収集やトレーシングも必要な場合は、以下の初期化を追加できます。

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

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

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

接続の確認

  1. enableSDKDebugLog = YES/true を有効にしたままアプリを実行します
  2. ページを開くか、URLSession ネットワークリクエストを 1 回実行します
  3. Xcode コンソールで SDK の初期化とデータ同期に関するログが表示されることを確認します
  4. Guance コンソールに戻り、アプリに対応する RUM データが表示されていることを確認します

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

次のステップ

フィードバック

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