クイックスタート¶
この記事では、iOS/tvOS/macOS RUM SDK の最短導入パスを提供し、最小限の手順で検証可能なデータアップロードを完了する方法を説明します。
事前準備¶
開始する前に、以下の準備を完了してください。
- リアルユーザーモニタリング(RUM) で iOS、tvOS または macOS アプリケーションを作成し、
RUM App IDを取得します - アップロード先アドレスと認証方式を確認します:
- ローカル環境デプロイ:
datakitUrlを準備 - パブリックネットワーク DataWay:
datawayUrlとclientTokenを準備 - プロジェクトに SDK がインストールされていることを確認します。
Swift Package Managerを推奨しますが、CocoaPods、Carthageも互換性があります。
導入手順¶
- プロジェクトに
GuanceSDKをインストールします - アプリ起動時に
FTSDKConfigを初期化します FTRumConfigを初期化し、View、Action、Resource、クラッシュ、フリーズの収集を有効にします- デバッグログを有効にし、アプリを実行してページを開くかネットワークリクエストを 1 回トリガーします
- コンソールと Guance プラットフォームでデータが正常にアップロードされたことを確認します
SDK のインストール¶
インストール方法は アプリケーション接続 を参照してください。
クイック検証のみの場合は、Swift Package Manager を優先して使用することを推奨します。既存の依存関係管理の制約がある場合にのみ CocoaPods または Carthage を選択してください。
最小限の初期化例¶
iOS/tvOS では通常、AppDelegate で初期化します。macOS では、最初に表示される NSViewController の viewDidLoad メソッドや NSWindowController の windowDidLoad メソッドの呼び出しが 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)
接続の確認¶
enableSDKDebugLog = YES/trueを有効にしたままアプリを実行します- ページを開くか、
URLSessionネットワークリクエストを 1 回実行します - Xcode コンソールで SDK の初期化とデータ同期に関するログが表示されることを確認します
- Guance コンソールに戻り、アプリに対応する RUM データが表示されていることを確認します
さらに調査が必要な場合は、トラブルシューティング を参照してください。
次のステップ¶
- 完全なインストールと初期化の説明は、アプリケーション接続 を参照してください
- 1.6.6 以前のバージョンからのアップグレードは、移行ガイド を参照してください
- すべての初期化パラメータの説明は、SDK 初期化 を参照してください
- RUM、Log、Trace の詳細な設定は、RUM 設定、ログ設定、トレース設定 を参照してください
- WebView モニタリングを導入する場合は、WebView データ監視 を参照してください
- Session Replay を導入する場合は、iOS Session Replay を参照してください