SDKのカスタマイズ

SDKのカスタマイズ

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

PageSense Android Full Stack SDKには、アプリケーション内でのSDKの動作を制御できるカスタマイズオプションが用意されています。これらのオプションにより、テストの設定の更新頻度、ログ出力の詳細度、運用の安定性のバランスを調整できます。

SDKのカスタマイズは任意です。オプションを設定しない場合、SDKは適切な初期設定で動作します。

カスタマイズできる項目  

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

  • ポーリング間隔:プロジェクトの設定を更新する間隔

  • カスタムロガー:SDKログの処理

  • ログレベルの制御:実装したログ機能による制御

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

ポーリングの設定  

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

ポーリングのルール  

  • 初期設定のポーリング間隔:5分

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

  • 5分未満の値は許可されません

  • 5分未満の値を指定すると、自動的に15分に補正されます

ポーリングは、アプリがアクティブな場合にのみ実行され、プロジェクトの設定に関するドキュメントに記載されているライフサイクルのルールに従います。

ポーリング間隔の設定  

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

JAVAの例  

  1. PageSenseSDKOptions pageSenseSDKOptions = new PageSenseSDKOptions();
  2. pageSenseSDKOptions.setPollingInterval(10);// 分単位

KOTLINの例  

  1. val pageSenseSDKOptions = PageSenseSDKOptions()
  2. pageSenseSDKOptions.pollingInterval = 10// 分単位

カスタムログ  

初期設定では、SDKは内部ロガーを使用してメッセージを記録します。
アプリケーションで一元管理型のログフレームワークを使用している場合は、カスタムロガーを組み込むことで、SDKログを独自に取得して管理できます。

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

  • すべてのSDKログが設定したロガーに送信されます

  • ログを保存または表示する場所と方法を制御できます

カスタムロガーの作成  

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

JAVAの例  

  1. PageSenseLogger pageSenseLogger = new PageSenseLogger() {
  2.  
  3. @Override
  4. public void severe(@Nullable String logMessage) {
  5. }
  6.  
  7. @Override
  8. public void error(@Nullable String logMessage) {
  9. }
  10.  
  11. @Override
  12. public void warn(@Nullable String logMessage) {
  13. }
  14.  
  15. @Override
  16. public void info(@Nullable String logMessage) {
  17. }
  18.  
  19. @Override
  20. public void debug(@Nullable String logMessage) {
  21. }
  22.  
  23. @Override
  24. public void trace(@Nullable String logMessage) {
  25. }
  26. };

KOTLINの例  

  1. val pageSenseLogger = object : PageSenseLogger() {
  2.  
  3. override fun severe(logMessage: String?) {
  4. }
  5.  
  6. override fun error(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オプションの適用  

ポーリングとログのオプションを設定したら、PageSenseSDKOptionsオブジェクトを指定してSDKを初期化します。

JAVAの例  

  1. PageSenseSDKOptions pageSenseSDKOptions = new PageSenseSDKOptions();
  2. pageSenseSDKOptions.setPollingInterval(10); // 分単位
  3. pageSenseSDKOptions.setCustomLogger(pageSenseLogger);
  4.  
  5. PageSenseClientBuilder.createNewPageSenseClient(
  6. 'sdkAccountId',
  7. 'sdkKey',
  8. 'projectName',
  9. pageSenseSDKOptions,
  10. new ProjectSettingsCallBack() {
  11.  
  12. @Override
  13. public void onFailure(@NotNull String message, @Nullable Integer code) {
  14. }
  15.  
  16. @Override
  17. public void 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(message: String, code: 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は標準設定で安全に動作する