SDKのカスタマイズ

SDKのカスタマイズ

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

PageSense Android フルスタック SDK では、アプリケーション内での SDK の動作を制御できるカスタマイズ設定を提供しています。これらの設定により、実験設定の最新性、ログ出力の詳細度、運用上の安定性をバランスよく保つことができます。

SDK のカスタマイズは任意です。設定を行わない場合、SDK は推奨されるデフォルト値で動作します。

カスタマイズ可能な項目  

SDK のカスタマイズでは、次の項目を設定できます。

  • ポーリング間隔(プロジェクト設定の更新頻度)

  • カスタムロガー(SDK ログの処理方法)

  • ログレベルの制御(独自のロギング実装を通じて制御)

すべてのカスタマイズは、SDK の初期化時PageSenseSDKOptionsを使用して適用されます。

ポーリング設定  

SDK はポーリングを使用して、フルスタックプロジェクトの設定を更新します。ポーリングを実行する頻度を設定できます。

ポーリングのルール  

  • デフォルトのポーリング間隔: 5 分

  • ポーリング間隔は5 分以上である必要があります

  • 5 分以下の値は許可されません

  • 5 分未満の値が指定された場合、自動的に15 分に正規化されます

ポーリングは、アプリが有効な状態のときにのみ実行され、プロジェクト設定ドキュメントで説明されているライフサイクルルールに従います。

ポーリング間隔の設定  

ポーリング間隔は単位で指定します。

JAVA 例  

  1. PageSenseSDKOptions pageSenseSDKOptions = 新規 PageSenseSDKOptions();
  2. pageSenseSDKOptions。setPollingInterval(10);// in 分

KOTLIN 例  

  1. val pageSenseSDKOptions = PageSenseSDKOptions()
  2. pageSenseSDKOptions。pollingInterval = 10// in 分

カスタムロギング  

デフォルトでは、SDK は内部ロガーを使用してメッセージを出力します。
アプリケーションで集中管理されたロギングフレームワークを使用している場合は、カスタムロガーを組み込むことで、SDK ログを自分で取得・管理できます。

カスタムロガーを設定すると、次のようになります。

  • すべての SDK ログが、あなたのロガー経由で出力されます

  • ログの保存場所や表示方法を自由に制御できます

カスタムロガーの作成  

カスタムロガーは、PageSenseLoggerインターフェイスを実装し、さまざまな重大度レベルのログメッセージを処理する必要があります。

JAVA 例  

  1. PageSenseLogger pageSenseLogger = 新規 PageSenseLogger() {
  2.  
  3. @Override
  4. 公開する 無効 severe(@Nullable String logMessage) {
  5. }
  6.  
  7. @Override
  8. 公開する 無効 エラー(@Nullable String logMessage) {
  9. }
  10.  
  11. @Override
  12. 公開する 無効 warn(@Nullable String logMessage) {
  13. }
  14.  
  15. @Override
  16. 公開する 無効 info(@Nullable String logMessage) {
  17. }
  18.  
  19. @Override
  20. 公開する 無効 debug(@Nullable String logMessage) {
  21. }
  22.  
  23. @Override
  24. 公開する 無効 trace(@Nullable String logMessage) {
  25. }
  26. };

KOTLIN 例  

  1. val pageSenseLogger = object : PageSenseLogger() {
  2.  
  3. override fun severe(logMessage: String?) {
  4. }
  5.  
  6. override fun エラー(logMessage: String?) {
  7. }
  8.  
  9. override fun warn(logMessage: String?) {
  10. }
  11.  
  12. override fun info(logMessage: String?) {
  13. }
  14.  
  15. override fun debug(logMessage: String?) {
  16. }
  17.  
  18. override fun trace(logMessage: String?) {
  19. }
  20. }

初期化時に SDK オプションを適用する  

ポーリングとログの設定が完了したら、SDK を初期化する際に PageSenseSDKOptions オブジェクトを渡します。

JAVA の例  

  1. PageSenseSDKOptions pageSenseSDKOptions = 新規 PageSenseSDKOptions();
  2. pageSenseSDKOptions。setPollingInterval(10); // 分単位
  3. pageSenseSDKOptions。setCustomLogger(pageSenseLogger);
  4.  
  5. PageSenseClientBuilder。createNewPageSenseClient(
  6. 'sdkAccountId',
  7. 'sdkKey',
  8. 'projectName',
  9. pageSenseSDKOptions,
  10. 新規 ProjectSettingsCallBack() {
  11.  
  12. @Override
  13. 公開する 無効 onFailure(@NotNull String メッセージ, @Nullable Integer コード) {
  14. }
  15.  
  16. @Override
  17. 公開する 無効 onSuccess(PageSenseClient client) {
  18.          // PageSenseClient はカスタム設定で初期化されています
  19. pageSenseClient = client;
  20. }
  21. }
  22. );

 

KOTLIN の例  

  1. val pageSenseSDKOptions = PageSenseSDKOptions()
  2. pageSenseSDKOptions。pollingInterval = 10// 分単位
  3. pageSenseSDKOptions。customLogger = pageSenseLogger
  4.  
  5. PageSenseClientBuilder。createNewPageSenseClient(
  6. 'sdkAccountId',
  7. 'sdkKey',
  8. 'projectName',
  9. pageSenseSDKOptions,
  10. object : ProjectSettingsCallBack {
  11.  
  12. override fun onFailure(メッセージ: String, コード: Int?) {
  13. }
  14.  
  15. override fun onSuccess(client: PageSenseClient?) {
  16.            // PageSenseClient はカスタム設定で初期化されています
  17. pageSenseClient = client
  18. }
  19. }
  20. )

ログレベル  

SDK は、次のような複数のログ重大度レベルをサポートしています。

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • SEVERE

カスタムロガーを使用する場合、ログレベルの処理はすべて実装側で制御できます
これにより、次のことが可能になります。

  • 本番環境で詳細なログを抑制する

  • 開発中は詳細ログを有効にする

  • 既存のログパイプラインと連携する

ベストプラクティス  

  • 特別な理由がない限り、デフォルトのポーリング間隔を使用する

  • ネットワークとバッテリーの消費を抑えるため、過度なポーリングは避ける

  • 本番環境ではカスタムロガーを使用する

  • 詳細ログ(DEBUG / TRACE)は開発ビルドのみに限定する

カスタマイズを行わない場合の動作  

SDK 設定を指定しない場合は、次のように動作します。

  • デフォルトのポーリング動作が適用されます

  • SDK 内部のログ機能が使用されます

  • SDK は標準のデフォルト設定で安全に動作します