概要
PageSense SDKでは、初期化時に設定できるオプションを使用して、ログの出力方法や、SDKが更新済みのプロジェクトの設定を取得する頻度を制御できます。これらのオプションはネイティブモジュールで設定し、AndroidとiOSの両方に適用されます。
ポーリング間隔
ポーリング間隔では、SDKがPageSenseサーバーから更新済みのプロジェクトの設定を取得する頻度を制御します。これにより、アプリケーションを再起動せずに、テストや目標の設定変更が反映されるまでの時間が決まります。
初期設定の動作
ポーリング間隔を設定しない場合、SDKの組み込みの初期値が使用されます。間隔を個別指定すると、この初期値が上書きされます。
設定
SDKを初期化する前に、PageSenseSDKOptionsオブジェクトでポーリング間隔を分単位で設定します。
Android(Kotlin)
kotlin
valpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.pollingInterval = 5 // 更新済みの設定を5分ごとに取得
iOS(Swift)
swift
letpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.pollingInterval = 5 // 更新済みの設定を5分ごとに取得
注意事項
ログレベル
ログレベルでは、PageSense SDKのログの詳細度を制御します。適切なログレベルを設定すると、開発中のデバッグに役立ち、本番環境で不要なログを削減できます。
利用可能なログレベル
|
ログレベル
|
説明
|
|
TRACE
|
最も詳細なレベルです。内部状態の遷移を含む、SDKのすべての活動を記録します。詳細なデバッグにのみ使用してください。
|
|
DEBUG
|
開発や連携時に役立つ詳細な診断情報を記録します。開発用ビルドに推奨されます。
|
|
INFO
|
SDKが想定どおりに動作していることを確認できる一般的な動作メッセージを記録します。
|
|
WARN
|
SDKの動作を妨げるほどではないものの、問題につながる可能性がある状況を記録します。
|
|
ERROR
|
SDKの特定の処理が失敗する原因となる可能性があるエラーイベントを記録します。
|
|
SEVERE
|
重大な障害のみを記録します。最も簡潔なレベルです。本番用ビルドに推奨されます。
|
設定
SDKを初期化する前に、PageSenseSDKOptionsオブジェクトでログレベルを設定します。
Android(Kotlin)
kotlin
valpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.logLevel = LogLevel.DEBUG
iOS(Swift)
swift
letpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.logLevel = .DEBUG
注意事項
-
開発中は、DEBUGを使用すると、テストの有効化、バリエーションの割り当て、目標の追跡を検証するための詳細なログを取得できます。
-
本番環境では、ログ出力を最小限に抑えるため、SEVEREまたはERRORを使用します。
-
ログレベルはSDKの機能には影響せず、ログに出力される内容にのみ影響します。
初期化時のSDKオプションの適用
次の2つ、pollingIntervalとlogLevelはどちらも、PageSenseSDKOptionsオブジェクトに設定され、SDKの初期化呼び出しに渡されます。この設定は、PageSenseClientインスタンスの有効期間中、適用されます。
Android(Kotlin)
- kotlin
- valpageSenseSDKOptions = PageSenseSDKOptions()
- pageSenseSDKOptions.logLevel = LogLevel.DEBUG
- pageSenseSDKOptions.pollingInterval = 5
- PageSenseClientBuilder.createNewPageSenseClient(
- accountId,
- sdkKey,
- projectName,
- pageSenseSDKOptions,
- object: ProjectSettingsCallBack {
- override fun onFailure(message: String?,code: Int?) {
- println('SDKの初期化に失敗しました:$message')
- promise.resolve(false)
- }
- override fun onSuccess(data: PageSenseClient?) {
- if (data!= null) {
- client = data
- isInitialized = true
- println('SDKが正常に初期化されました')
- promise.resolve(true)
- } else {
- promise.resolve(false)
- }
- }
- }
- )
iOS(Swift)
- swift
- letpageSenseSDKOptions = PageSenseSDKOptions()
- pageSenseSDKOptions.logLevel = .DEBUG
- pageSenseSDKOptions.pollingInterval = 5
- PageSense.shared.createNewPageSenseClient(
- sdkAccountIDForDC:accountId,
- sdkKey:sdkKey,
- projectname:projectName,
- sdkOptions:pageSenseSDKOptions
- ) {pagesenseclient in
- guard letclient = pagesenseclient else {
- print('PageSenseClientの初期化に失敗しました')
- resolve(false)
- return
- }
- self.client = client
- self.isInitialized = true
- print('PageSenseClientが正常に初期化されました')
- resolve(true)
- }
推奨事項
-
開発および統合時は、logLevelをDEBUGに設定すると、テストの有効化、バリエーションの割り当て、目標の追跡に関する問題を診断しやすくなります。
-
本番環境にリリースする前に、logLevelをSEVEREまたはERRORに設定し、過剰なログ出力を防ぎます。
-
テスト設定の最新性と、アプリケーションで許容可能なネットワーク通信量のバランスを考慮して、ポーリング間隔を設定します。
-
PageSenseSDKOptionsは、初期化関数を呼び出す前に設定する必要があります。初期化後にオプションを変更しても反映されません。