PageSense iOS SDKの初期化

PageSense iOS SDKの初期化

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

開始する前に  

PageSenseClientは、テストの有効化、バリエーションの取得、目標の追跡など、あらゆる操作の中核となるインターフェースです。SDKを初期化するまで、これらの操作は実行できません。
初期化すると、PageSenseサーバーからプロジェクト設定が取得され、デバイス上にローカルでキャッシュされます。取得される情報は次のとおりです。
  • プロジェクトに設定されているすべてのFullStackテスト。
  • 各テストの現在のステータス。
  • トラフィック配分とオーディエンスのターゲティングルール。

メソッド  

  1. swift
  2. import PageSenseFramework
  3. PageSense.shared.createNewPageSenseClient(
  4.     sdkAccountIDForDC: String,
  5.     sdkKey: String,
  6.     projectname: String,
  7.     sdkOptions:PageSenseSDKOptions
  8. ) {client in
  9.     ifclient != nil {
  10.         print('PageSense SDKの初期化に成功しました')
  11.     } else {
  12.         print('初期化に失敗しました')
  13.     }
  14. }
  15.  

パラメーター  

パラメーター
説明
sdkAccountIDForDC
String
PageSenseアカウントの識別子です。
sdkKey
String
環境用のSDKキーです。FullStackプロジェクト設定ページの[SDK設定]で確認できます。
projectname
String
テストが含まれるPageSenseプロジェクトです。
sdkOptions
PageSenseSDKOptions
任意です。ログ記録、ポーリング間隔、その他のSDKの動作を設定します。

初期化時の処理  

createNewPageSenseClient()が呼び出されると、次の処理が実行されます。
  1. SDKからネットワークリクエストが送信され、PageSenseからプロジェクト設定が取得されます。
  2. 設定が解析され、デバイス上にローカルでキャッシュされます。
  3. PageSenseClientインスタンスが作成され、完了ハンドラーを通じて返されます。
これ以降、クライアントでテストの評価とイベントの追跡を実行できるようになります。
認証情報が正しくない、ネットワークに接続できない、プロジェクト設定が存在しないなどの理由で初期化に失敗した場合、返されるクライアントはnilになります。

使用例  

  1. swift
  2. import PageSenseFramework
  3. // クライアントをクラス変数として宣言
  4. varpageSenseClient: PageSenseClient?
  5. // SDKオプションを作成
  6. letpageSenseSDKOptions = PageSenseSDKOptions()
  7. // SDKを初期化
  8. PageSense.shared.createNewPageSenseClient(
  9.     sdkAccountIDForDC: 'YOUR_ACCOUNT_ID',
  10.     sdkKey: 'YOUR_SDK_KEY',
  11.     projectname: 'YOUR_PROJECT_NAME',
  12.     sdkOptions:pageSenseSDKOptions
  13. ) {client in
  14.     guard letclient = client else {
  15.         print('PageSenseClientの初期化に失敗しました')
  16.         return
  17.     }
  18.     self.pageSenseClient = client
  19.     print('PageSenseClientが正常に初期化されました')
  20. }

即時初期化と遅延初期化  

即時初期化(推奨)
遅延初期化
即時初期化(推奨)
ユーザーが操作する前のアプリ起動時に初期化します。これにより、最初の画面が読み込まれた時点で実験設定を利用できます。ユーザーは最初から一貫してグループに割り当てられます。
実験が初期画面やアプリの主要な動作に影響する場合に使用します。

遅延初期化
特定の機能や画面で必要になった時点で初期化します。起動時の負荷は軽減されますが、設定の取得が遅れる可能性があります。
実験がアプリ内の特定のセクションに限定され、ネットワーク通信を後回しにしたい場合に使用します。
ほとんどのアプリでは、即時初期化が適切です。早い段階で初期化することで、SDKの準備完了と実験の評価が競合するのを防げます。


スレッドセーフティ  

SDKはマルチスレッド環境でも安全に使用できますが、次の点に注意してください。
  • 負荷の高いSDK処理をメインスレッドで実行しないでください。
  • 初期化済みのクライアントは完了ハンドラーで受け取ります。UIの描画はブロックされません。
  • 再初期化せず、PageSenseClientインスタンスを保存してアプリ全体で再利用してください。
  • バリエーションの結果に基づくUIの更新は、必ずメインスレッドで行ってください。
  1. swift
  2. DispatchQueue.main.async {
  3.     // 割り当てられたバリエーションに基づいてUIを変更
  4. }
注意点  
  • createNewPageSenseClient()は非同期です。結果は完了ハンドラー内で処理してください。
  • AppDelegate、SceneDelegate、またはSwiftUI Appのイニシャライザーで初期化してください。
  • クライアントがnilの場合に備えて必ず処理を行い、初期化が成功したと決めつけないでください。



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