PageSense React Native — SDK のカスタマイズ

PageSense React Native — SDK のカスタマイズ

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要  

PageSense SDKには、初期化時に設定できる設定オプションがあります。これにより、ログ出力の動作や、SDKが更新されたプロジェクト設定を取得する頻度を制御できます。これらのオプションはネイティブモジュールで設定し、AndroidとiOSの両方に適用されます。

ポーリング間隔  

ポーリング間隔では、SDKがPageSenseサーバーから更新されたプロジェクト設定を取得する頻度を制御します。これにより、アプリケーションを再起動せずに、実験や目標の設定変更をどの程度すばやくアプリケーションに反映するかが決まります。

初期設定の動作

ポーリング間隔を設定しない場合、SDKに組み込まれている初期設定が使用されます。カスタム間隔を設定すると、この初期設定が上書きされます。

設定

ポーリング間隔は、PageSenseSDKOptionsオブジェクトで、SDKの初期化前に分単位で設定します。

Android(Kotlin)

kotlin
valpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.pollingInterval = 5 // 更新された設定を5分ごとに取得
iOS(Swift)
swift
letpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.pollingInterval = 5 // 更新された設定を5分ごとに取得

メモ

  • ポーリング間隔の値は分単位です。
  • 間隔を短く設定すると、SDKが更新をより頻繁に取得するため、実験設定をより最新の状態に保てますが、ネットワーク通信量が増加します。
  • 間隔を長く設定すると、ネットワーク通信量は減少しますが、設定変更がアプリケーションに反映されるまでの時間が長くなります。

ログレベル  

ログレベルでは、PageSense SDKのログの詳細度を制御します。適切なログレベルを設定すると、開発時のデバッグに役立ち、本番環境で不要なログを減らせます。

使用可能なログレベル

ログレベル
説明
TRACE
最も詳細です。内部状態の遷移を含むSDKのすべての動作を記録します。詳細なデバッグにのみ使用してください。
DEBUG
開発や連携時に役立つ詳細な診断情報を記録します。開発ビルドでの使用をおすすめします。
INFO
SDKが想定どおりに動作していることを確認するための一般的な動作メッセージを記録します。
WARN
SDKの動作を妨げないものの、問題になる可能性がある状況を記録します。
ERROR
SDKの特定の処理が失敗する可能性があるエラーイベントを記録します。
SEVERE
重大な障害のみを記録します。最も簡潔なログレベルです。本番ビルドでの使用をおすすめします。

設定

ログレベルは、PageSenseSDKOptionsオブジェクトで、SDKの初期化前に設定します。

Android(Kotlin)

kotlin
valpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.logLevel = LogLevel.DEBUG

iOS(Swift)

swift
letpageSenseSDKOptions = PageSenseSDKOptions()
pageSenseSDKOptions.logLevel = .DEBUG

メモ

  • 開発中はDEBUGを使用すると、実験の有効化、パターンの割り当て、目標の追跡を確認するために役立つ詳細なログを取得できます。
  • 本番環境では、ログ出力を最小限に抑えるためにSEVEREまたはERRORを使用します。
  • ログレベルはSDKの機能には影響しません。ログ出力に書き込まれる内容のみが変わります。

初期化時のSDKオプションの適用  

pollingIntervallogLevelの両方が、SDKの初期化呼び出しに渡されるPageSenseSDKOptionsオブジェクトに設定されます。この設定は、PageSenseClientインスタンスの有効期間中適用されます。

Android(Kotlin)

  1. kotlin
  2. valpageSenseSDKOptions = PageSenseSDKOptions()
  3. pageSenseSDKOptions.logLevel = LogLevel.DEBUG
  4. pageSenseSDKOptions.pollingInterval = 5
  5. PageSenseClientBuilder.createNewPageSenseClient(
  6. accountId,
  7. sdkKey,
  8. projectName,
  9. pageSenseSDKOptions,
  10.     object: ProjectSettingsCallBack {
  11.         override fun onFailure(message: String?,code: Int?) {
  12.             println('SDKの初期化に失敗しました:$message')
  13. promise.resolve(false)
  14.         }
  15.         override fun onSuccess(data: PageSenseClient?) {
  16.             if (data!= null) {
  17. client = data
  18. isInitialized = true
  19.                 println('SDKが正常に初期化されました')
  20. promise.resolve(true)
  21.             } else {
  22. promise.resolve(false)
  23.             }
  24.         }
  25.     }
  26. )
iOS(Swift)
  1. swift
  2. letpageSenseSDKOptions = PageSenseSDKOptions()
  3. pageSenseSDKOptions.logLevel = .DEBUG
  4. pageSenseSDKOptions.pollingInterval = 5
  5. PageSense.shared.createNewPageSenseClient(
  6. sdkAccountIDForDC:accountId,
  7. sdkKey:sdkKey,
  8. projectname:projectName,
  9. sdkOptions:pageSenseSDKOptions
  10. ) {pagesenseclient in
  11.     guard letclient = pagesenseclient else {
  12.         print('PageSenseClient initialization failed')
  13.         resolve(false)
  14.         return
  15.     }
  16.     self.client = client
  17.     self.isInitialized = true
  18.     print('PageSenseClient initialized successfully')
  19.     resolve(true)
  20. }

ベストプラクティス  

  • 開発および組み込み時には、logLevelDEBUGに設定すると、実験の有効化、バリエーションの割り当て、目標トラッキングに関する問題の診断に役立ちます。
  • 本番環境にリリースする前に、logLevelSEVEREまたはERRORに設定して、過剰なログ出力を避けてください。
  • アプリケーションで許容できるネットワーク通信量と実験設定の最新性のバランスを考慮して、ポーリング間隔を設定してください。
  • PageSenseSDKOptionsは、初期化関数を呼び出す前に設定する必要があります。初期化後にオプションを変更しても反映されません。



このドキュメントは、各手順を迷わず進められるように作成されています。さらにサポートが必要な場合やご不明な点がある場合は、support@zohopagesense.com - までお気軽にお問い合わせください。いつでもサポートいたします。