SDK 初期化¶
基本設定¶
最初に表示されるビュー NSViewController の viewDidLoad メソッドや NSWindowController の windowDidLoad メソッドは、AppDelegate の applicationDidFinishLaunching よりも先に呼び出されるため、最初のビューのライフサイクル収集が異常にならないよう、main.m ファイルで SDK の初期化を行うことを推奨します。
// main.m ファイル
#import "FTMacOSSDK.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// ローカル環境 / Datakit 経由のデプロイ
FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatakitUrl:datakitUrl];
// パブリック DataWay 経由のデプロイ
// FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatawayUrl:datawayUrl clientToken:clientToken];
config.enableSDKDebugLog = YES;
[FTSDKAgent startWithConfigOptions:config];
}
return NSApplicationMain(argc, argv);
}
main.swift ファイルを作成し、AppDelegate.swift から @main または @NSApplicationMain を削除します。
import Cocoa
import FTMacOSSDK
let delegate = AppDelegate()
NSApplication.shared.delegate = delegate
let config = FTSDKConfig(datakitUrl: datakitUrl)
// パブリック DataWay 経由のデプロイ
// let config = FTSDKConfig(datawayUrl: datawayUrl, clientToken: clientToken)
config.enableSDKDebugLog = true
FTSDKAgent.start(withConfigOptions: config)
_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
datakitUrl |
NSString |
はい | Datakit アクセスアドレス。例:http://10.0.0.1:9529、デフォルトポートは 9529 です。SDK をインストールするデバイスからこのアドレスにアクセスできる必要があります。注意:datakit と dataway の設定はどちらか一方を選択してください |
datawayUrl |
NSString |
はい | パブリック DataWay アクセスアドレス。例:http://10.0.0.1:9528、デフォルトポートは 9528 です。SDK をインストールするデバイスからこのアドレスにアクセスできる必要があります。注意:datakit と dataway の設定はどちらか一方を選択してください |
clientToken |
NSString |
はい | 認証用 token です。datawayUrl と併用する必要があります |
enableSDKDebugLog |
BOOL |
いいえ | ログ出力を有効にするかどうかを設定します。デフォルトは NO です |
env |
NSString |
いいえ | 収集環境を設定します。デフォルトは prod です。カスタム設定も可能で、提供されている FTEnv 列挙型を使用して -setEnvWithType: メソッドで設定することもできます |
service |
NSString |
いいえ | 所属する業務またはサービスの名前を設定します。Log および RUM の service フィールドデータに影響します。デフォルトは df_rum_macos です |
globalContext |
NSDictionary |
いいえ | カスタムタグを追加します。追加ルールについては カスタムタグの使用 を参照してください |
ユーザーのバインドとログアウト¶
使用方法¶
/// ユーザー情報をバインドします
///
/// - Parameters:
/// - Id: ユーザーID
/// - userName: ユーザー名(オプション)
/// - userEmail: ユーザーメールアドレス(オプション)
/// - extra: ユーザーの追加情報(オプション)
- (void)bindUserWithUserID:(NSString *)Id userName:(nullable NSString *)userName userEmail:(nullable NSString *)userEmail extra:(nullable NSDictionary *)extra;
/// 現在のユーザーをログアウトします
- (void)unbindUser;
/// ユーザー情報をバインドします
///
/// - Parameters:
/// - Id: ユーザーID
/// - userName: ユーザー名(オプション)
/// - userEmail: ユーザーメールアドレス(オプション)
/// - extra: ユーザーの追加情報(オプション)
open func bindUser(withUserID Id: String, userName: String?, userEmail: String?, extra: [AnyHashable : Any]?)
/// 現在のユーザーをログアウトします
open func unbindUser()
コード例¶
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID];
// または
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID userName:USERNAME userEmail:USEREMAIL];
// または
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID userName:USERNAME userEmail:USEREMAIL extra:@{EXTRA_KEY:EXTRA_VALUE}];
[[FTSDKAgent sharedInstance] unbindUser];
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID)
// または
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID, userName: USERNAME, userEmail: USEREMAIL)
// または
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID, userName: USERNAME, userEmail: USEREMAIL, extra: [EXTRA_KEY: EXTRA_VALUE])
FTSDKAgent.sharedInstance().unbindUser()
SDK の終了¶
FTSDKAgent を使用して SDK を終了します。