メインコンテンツへスキップ
PHP SDK を使用すると、バックエンド PHP サーバー上で実験を実行し、機能フラグを有効化できます。SDK を Web アプリケーションに統合するのは簡単で、メモリやネットワーク使用量などのフットプリントも小さく抑えられています。 はじめに: 始め方については 開発者ガイド を参照してください。 変更履歴: PHP SDK の最新バージョン: 4.23.0 変更履歴 SDK メソッド: PHP SDK の完全なリファレンスドキュメントは リファレンス セクションを参照してください。

開発者ガイド

このガイドは、SDK をアプリケーションコードに統合するための手引きです。

はじめに

まず SDK をインストールする必要があります。解凍すると、kameleoon/job/ の2つのディレクトリが表示されます。

PHP クライアントのインストール(Composer パッケージ)

cron ジョブのインストール および cron ジョブを使用しない PHP SDK の使用方法 のセクションを必ずお読みください。
インストールパッケージは Packagist で入手できます。Composer を使って依存関係として追加することで、PHP SDK をインストールできます:
composer.json
最後に、以下のコマンドを実行してオートローダーを再生成します:

cron ジョブを使用する(推奨)

cron を設定すると、PHP SDK の addData() メソッドで追加されたデータのトラッキングが可能になります。ただし、cron をインストールできない場合は、こちらのガイド に従って、フロントエンドでのトラッキングを実装することもできます。
job/ ディレクトリには、標準的なジョブスケジューラ(cron など)を介して実行する必要があるジョブが含まれています。 スクリプトは /usr/local/opt/kameleoon/kameleoon-client-php-process-queries.sh にインストールし、デフォルトで提供されている crontab エントリを使用することを推奨します。ただし、別の場所にインストールし、それに応じて crontab エントリを変更することもできます。
cron ジョブを使用しない場合
cron ジョブをインストールできない場合は、Kameleoon を ハイブリッドモード で使用することで、Kameleoon Application Engine の engine.js(以前の名称は kameleoon.js)のトラッキング機能を利用できます。SDK は getEngineTrackingCode() メソッドを提供しており、これにより Web サイトで使用している Kameleoon やその他の分析ソリューションに露出イベントを送信できます。
このアプローチでは、PHP SDK の addData() メソッドで追加されたデータをトラッキングできません。 言い換えれば、PHP SDK がサーバーサイドで実験データを収集・処理する唯一の方法は cron ジョブを使うことです。 ハイブリッドモードはトラッキング目的には有用ですが、バックエンドでのデータ収集は有効にしません

追加の設定

PHP SDK の動作は、設定ファイルを介してカスタマイズできます。SDK アーカイブには client-php.json.sample という名前のサンプル設定ファイルが含まれています。サンプル設定ファイルをダウンロード することもできます。このファイルはデフォルトのパス /tmp/kameleoon/client-php.json にインストールすることを推奨します。設定可能なプロパティは以下のとおりです:
設定ファイルにデフォルトのパス(/tmp/kameleoon/client-php.json)を使用しない場合は、以下が必要です:
  • 設定ファイルのパスを KameleoonClientFactory::create() メソッドの第3引数として渡す;
  • ジョブスクリプトに —conf 引数を追加するように crontab エントリを変更する(例えば、bash /usr/local/opt/bin/kameleoon-client-php-process-queries.sh --conf /my/path/kameleoon.json のようになります)。
client_idclient_secret の詳細、およびそれらの取得方法については、API クレデンシャル の記事を参照してください。Kameleoon PHP SDK は Automation API を使用しており、OAuth 2.0 クライアントクレデンシャルフローに従います。

Kameleoon クライアントの初期化

アプリケーションに SDK をインストールし、正しいクレデンシャル(/tmp/kameleoon/client-php.json 内)を設定したら、次のステップはアプリケーションコード内で Kameleoon クライアントを作成することです。例:
KameleoonClient は、アプリケーションと Kameleoon プラットフォームの橋渡しをするシングルトンオブジェクトです。実験を実行するために必要なすべてのメソッドとプロパティが含まれています。SDK は 設定ファイル から設定を取得することに注意してください。デフォルトではパス /tmp/kameleoon/client-php.json が使用されますが、KameleoonClientFactory::create() メソッドにオプションの第3引数を指定することで、別のパスを設定ファイルに使用できます。
Kameleoon を介した A/B テストのコンテキストで、アプリケーションコード内で正しいロジックを使用するのはアプリケーション開発者の責任です。良い慣行は、実験がまだ開始されていないために現在の訪問者が実験から除外される可能性があると常に想定することです。現在の訪問者を除外するのは簡単で、デフォルト/参照バリエーションのロジックを実装することに対応します。次の段落のコードサンプルは、このようなアプローチの例を示しています。

機能フラグの有効化

ユーザーに一意の ID を割り当てる
ユーザーに一意の ID を割り当てるには、getVisitorCode() メソッドを使用できます。訪問者コードが存在しない場合(リクエストヘッダーの cookie から)、メソッドはランダムな一意の ID を生成するか、あなたが生成した defaultVisitorCode を使用します。ID はレスポンスヘッダーの cookie に設定されます。 Kameleoon を ハイブリッドモード で使用している場合、getVisitorCode() メソッドを呼び出すことで、一意の ID(訪問者コード)がアプリケーションファイル engine.js(以前の名称は kameleoon.js)と SDK の間で共有されます。
フラグ設定の取得
コードに機能フラグを実装するには、まず Kameleoon アカウントで機能フラグを作成する必要があります。 特定のユーザーに対する機能フラグのステータスまたはバリエーションを判断するには、getVariation() または isFeatureActive() メソッドを使用して、featureKey に基づく設定を取得する必要があります。 getVariation() メソッドは、ON/OFF の状態を持つ単純な機能フラグと、複数のバリエーションを持つより複雑なフラグの両方を処理します。このメソッドは、機能ルールをチェックし、バリエーションを割り当てて、featureKeyvisitorCode に基づいて適切なバリエーションを返します。 isFeatureActive() メソッドは、複数のバリエーションやターゲティングオプションを持つより複雑な機能フラグではなく、ON または OFF の状態のみを持つ単純な機能フラグの設定を取得したい場合に使用できます。 機能フラグに関連付けられた変数がある場合(各バリエーションに紐づく特定の動作など)、getVariation() を使用することで Variation オブジェクトにアクセスでき、割り当てられたバリエーションとその関連実験に関する詳細を取得できます。このメソッドはユーザーがターゲット対象かどうかをチェックし、訪問者に割り当てられたバリエーションを見つけて、ストレージに保存します。track=true の場合、SDK は次のトラッキングリクエストの際に指定された実験に露出イベントを送信します。これは cron ジョブによって自動的に実行されます。デフォルトでは、その間隔は 1 分です。 getVariation() メソッドでは、トラッキングを行うかどうかを制御できます。track=false の場合、SDK によって露出イベントが送信されません。これは、SDK 経由でデータをトラッキングするのではなく、例えば Kameleoon エンジンによって管理されるクライアントサイドのトラッキングに依存したい場合に便利です。また、getVariations() メソッドを使用する際にも、track=false を設定するのが便利です。すべてのフラグのバリエーションのみが必要で、トラッキングイベントを発生させる必要がない場合があります。トラッキングの仕組みについて詳しく知りたい場合は、こちらの記事 を参照してください。
ユーザーをターゲットしたり、レポートで訪問をフィルタ/ブレークダウンするためのデータポイントを追加する
ユーザーをターゲットするには、機能のバリエーションを取得したり、フラグがアクティブかどうかをチェックする前に、関連するデータポイントをプロファイルに追加してください。これらのデータポイントをユーザーのプロファイルに追加するには、addData() メソッドを使用します。 他のデバイスで収集されたデータポイントを取得したり、過去のユーザーデータ(Kameleoon をハイブリッドモードで使用している場合にクライアントサイドで収集されたもの)にアクセスするには、getRemoteVisitorData() メソッドを使用します。このメソッドは、サーバーから非同期にデータを取得します。バリエーションを取得したり、機能フラグがアクティブかどうかを確認するgetRemoteVisitorData() を呼び出すことが重要です。なぜなら、このデータがユーザーを特定のバリエーションに割り当てるために必要となる場合があるからです。 利用可能なターゲティング条件について詳しくは、本件に関する詳細な記事 を参照してください。 さらに、訪問者のプロファイルに追加したデータポイントは、実験の分析時に利用可能となり、デバイスやブラウザなどの要因で結果をフィルタリングしたりブレークダウンしたりできるようになります。Kameleoon ハイブリッドモードは、クライアントサイドでさまざまなデータポイントを自動的に収集するため、これらの事前収集されたデータポイントに基づいて結果を簡単にブレークダウンできます。完全なリストは こちら を参照してください。 自動収集されるものを超えて追加のデータポイントをトラッキングする必要がある場合は、Kameleoon の Custom Data 機能 を使用できます。Custom Data を使用すると、実験に関連する特定の情報をキャプチャして分析できます。収集したデータを分析のために Kameleoon サーバーに送信するには、flush() メソッドの呼び出しを忘れないでください。
結果の正確性を保証するために、UserAgent データタイプを使用してボットを除外することを推奨します。
目標のコンバージョンをトラッキングする
ユーザーが希望するアクション(例えば購入など)を完了すると、それはコンバージョンとして記録されます。コンバージョンをトラッキングするには、trackConversion() メソッドを使用し、必須の visitorCodegoalId パラメータを指定します。 コンバージョンのトラッキングリクエストは、SDK が定期的に送信する(インターバルトラッキング crontab で定義された)次の予定されたトラッキングリクエストとともに送信されます。リクエストを即座に送信したい場合は、instant=true パラメータを指定した flush() メソッドを使用します。
分析ソリューションにイベントを送信する
コンバージョンをトラッキングし、顧客分析ソリューションに露出イベントを送信するには、まず Kameleoon を ハイブリッドモード で実装する必要があります。その後、getEngineTrackingCode() メソッドを使用します。 getEngineTrackingCode() メソッドは、分析ソリューションに露出イベントを送信するために必要な一意のトラッキングコードを取得します。このメソッドを使用すると、イベントを記録し、目的の分析プラットフォームに送信できます。

クロスデバイス実験

複数のデバイスからアプリにアクセスする訪問者をサポートするために、Kameleoon は、以前に収集された訪問者データを各デバイス間で同期し、クロスデバイス実験を通じてデバイス間の訪問履歴を統合することを可能にします。Kameleoon がデバイス間でデータをどのように扱うかに関するケーススタディや詳細情報は、クロスデバイス実験に関する記事 で確認できます。

デバイス間でのカスタムデータの同期

カスタムマッピングの同期は、デバイス間で訪問者データを揃えるために使用されますが、常に必要というわけではありません。以下に、カスタムマッピング同期が不要な2つのシナリオを示します: デバイス間で同じユーザー ID すべてのデバイスで同じユーザー ID が一貫して使用されている場合、同期はカスタムマッピング同期なしで自動的に処理されます。複数のデバイスで収集されたデータを同期したいときは、getRemoteVisitorData() メソッドを呼び出すだけで十分です。 一貫した ID を持つマルチサーバーインスタンス 複数のサーバー(例えば、分散サーバーインスタンス)を含む複雑なセットアップで、サーバー間で同じユーザー ID が利用可能な場合、追加のカスタムマッピング同期なしに、サーバー間の同期(getRemoteVisitorData() を使用)で十分です。 追加のデータが必要な顧客は、詳細なガイダンスのために getRemoteVisitorData() メソッドの説明を参照してください。以下のコードでは、正確なデータ取得のために、2つのデバイス間で同じ一意の識別子(この場合は visitorCodeuserId とも呼ばれます)が一貫して使用されていると仮定しています。
収集されたデータをリアルタイムで同期したい場合は、カスタムデータのスコープに Visitor を選択する必要があります。
Device A
Device B

セッションのマージにカスタムデータを使用する

クロスデバイス実験 を使用すると、訪問者の履歴を各デバイスにわたって統合できます(履歴の統合)。履歴の統合により、異なる訪問者セッションを1つにまとめることができます。訪問履歴を統合するには、訪問者の一意の識別子を提供するために CustomData を使用します。詳細については、専用のドキュメント を参照してください。 クロスデバイスの統合が有効化された後、userId パラメータを指定して getRemoteVisitorData() を呼び出すと、指定されたユーザーの既知のすべてのデータが取得されます。 同じ識別子を持つセッションは、実験中に常に同じバリエーションが表示されます。実験結果ページの訪問者ビューでは、これらのセッションは1人の訪問者として表示されます。 SDK の設定により、関連付けられたセッションは常に実験の同じバリエーションを表示します。ただし、クロスデバイスのバリエーション割り当てに関しては、いくつかの制限があります。これらの制限については こちら で説明されています。 Kameleoon プラットフォームでカスタムデータをセットアップするには、クロスデバイス履歴の統合を有効化する ガイドに従ってください。 その後、SDK を通常通り使用できます。セッションのマージのコンテキストで役立つ可能性のあるメソッドは以下のとおりです:
  • UniqueIdentifier(true) を追加した getRemoteVisitorData() - リンクされたすべての訪問者のデータを取得します。
  • UniqueIdentifier(true) データを追加した trackConversion() または flush() - 他の訪問者と関連付けられた特定の訪問者の一部データをトラッキングします。
識別子として使用するカスタムデータは Visitor スコープ に設定する必要があるため、各デバイスで getRemoteVisitorData() メソッドを使用して識別子を取得するには、クロスデバイスカスタムデータ同期 を使用する必要があります。
セッションのマージにカスタムデータを使用する例は以下のとおりです。
この例では、アプリケーションにログインページがあります。ログイン時点ではユーザー ID が不明であるため、getVisitorCode() メソッドで生成された匿名訪問者識別子が使用されます。ユーザーがログインした後、匿名訪問者はユーザー ID と関連付けられ、その訪問者の一意の識別子として使用されます。

カスタムバケットキーの使用

デフォルトでは、Kameleoon は機能フラグのバリエーションをユーザーに割り当てるために、一意の匿名訪問者 ID(visitorCode)を使用します。この ID は通常、ユーザーのデバイス(クライアントサイドおよびサーバーサイド SDK の場合はブラウザの cookie、モバイル SDK の場合は永続ストレージ)で生成・保存されます。ただし、特定のシナリオでは、同じ組織のすべてのユーザーが機能フラグの同じバリアントを見ることを保証する必要がある場合があります。 カスタムバケットキー オプションを使用すると、独自のカスタム識別子をバケット化に提供することで、このデフォルトの動作を上書きできます。この上書きにより、Kameleoon の割り当てロジックがデフォルトの visitorCode の代わりに指定されたキーを使用することが保証されます。

ユースケース

カスタムバケットキーの使用は、特に以下の状況において、機能フラグの割り当ての一貫性と精度を維持するために不可欠です:
  • アカウントレベルまたは組織の実験: B2B 製品や、同じ組織のすべてのユーザーを同じバリエーションに割り当てたいシナリオでは、accountId などの識別子を使用できます。カスタムバケットキーは、チーム全体や会社全体に影響する機能の A/B テストにとって重要です。
カスタムバケットキーを実装することで、実験における一貫性と精度がより高まり、より信頼性の高い結果と優れたユーザー体験につながります。

技術的詳細

機能フラグにカスタムバケットキーを設定すると、アプリケーションのデータから特定の識別子を Kameleoon に提供します:
  • カスタムキーの提供: addData() メソッドを使用して、カスタム識別子を Kameleoon SDK に提供します。このメソッドでは、選択したカスタムバケットキーを CustomData オブジェクトとして渡します。ここで newVisitorCode は、バケット化に使用したい識別子(例えば、新しい userIdaccountId)を指します。
カスタムバケットキーが正しく機能するには、フラグの作成または編集プロセス中に、機能フラグに対しても定義および設定する必要があります。この対応する設定がないと、SDK のバケット化はカスタムキーを適用しません。Kameleoon でこれをセットアップする方法の詳細な手順については、こちら の記事を参照してください。
  • バケット化ロジック: addData() メソッドを通じてカスタムバケットキーが提供されると、ユーザーをバリエーションに割り当てるためのすべてのハッシュ計算で、デフォルトの visitorCode の代わりにこの newVisitorCode(カスタムキー)が使用されます。newVisitorCode を使用することで、バケット化の決定がカスタム識別子に紐づき、その識別子が存在するさまざまなコンテキストで一貫した割り当てが保証されます。
  • データトラッキングと分析: newVisitorCode(カスタムキー)はバケット化の決定に使用されますが、その後のすべてのデータ(トラッキングイベントやコンバージョンなど)は元の visitorCode に関連付けられて送信される ことに注意してください。この分離により、バケット化がより高いレベル(アカウントなど)または複数のデバイス/セッションにわたって実行される場合でも、分析結果が実験の広範なコンテキスト内での個々のユーザージャーニーとインタラクションを正確に反映することが保証されます。元の訪問者データは包括的なレポートのためにそのまま残ります。

技術要件

カスタムバケットキーを効果的に使用するには:
  • キーは string でなければなりません。
  • バケット化する対象のエンティティに対して一意である必要があります(例えば、userId を使用する場合、各ユーザーの ID は一意である必要があります)。
  • 機能フラグの決定がそのユーザーまたはリクエストに対して評価される正確な瞬間に、キーが SDK で利用可能でなければなりません。

ターゲティング条件

Kameleoon SDK は、キャンペーンでユーザーをターゲットするために使用できるさまざまな事前定義されたターゲティング条件をサポートしています。この SDK がサポートする条件のリストについては、訪問履歴を使ってユーザーをターゲット を参照してください。 独自の 外部データを使用してユーザーをターゲット することもできます。

ロギング

SDK は、さまざまな内部プロセスや問題を反映するログを生成します。

ログレベル

SDK は、ログレベルによるロギングの制限の設定をサポートしています。

ログのカスタム処理

SDK はデフォルトでログをコンソール出力に書き込みます。この動作は上書きできます。
ログレベルによるロギングの制限は、ログ処理ロジックとは別に実行されます。

リファレンス

これは PHP SDK の完全なリファレンスドキュメントです。

初期化

create()

Kameleoon\KameleoonClientFactory のこのメソッドは、設定ファイル内に SDK 構成を提供することで KameleoonClient インスタンスを作成します。他の SDK メソッドを使用する前に、この KameleoonClient インスタンスを作成して SDK を初期化する必要があります。SDK とのすべてのインタラクションは、この KameleoonClient インスタンスを使用します。代わりに KameleoonClientConfig オブジェクトとして設定を提供するには、createWithConfig メソッドを参照してください。
引数
戻り値
スローされる例外

createWithConfig()

Kameleoon\KameleoonClientFactory のこのメソッドは KameleoonClient インスタンスを作成し、SDK 設定を KameleoonClientConfig オブジェクトとして渡すことができます。他の SDK メソッドを使用する前に、この KameleoonClient インスタンスを作成して SDK を初期化する必要があります。SDK とのすべてのインタラクションは、この KameleoonClient インスタンスを使用します。代わりにファイルで SDK 設定を提供するには、create メソッドを使用してください。
引数
戻り値
スローされる例外

機能フラグとバリエーション

isFeatureActive()

  • 📨 Kameleoon にトラッキングデータを送信(track パラメータに依存)
このメソッドは以前 activateFeature と呼ばれていましたが、SDK バージョン 4.0.0 で削除されました。
このメソッドは、指定された機能が特定のユーザーに対してアクティブかどうかをチェックするために、必須の引数として visitorCodefeatureKey を受け取ります。 そのようなユーザーがこの機能フラグに関連付けられたことがない場合、SDK はランダムにブール値を返します(ユーザーがこの機能を持つべきなら true、そうでないなら false)。指定された visitorCode を持つユーザーが既にこの機能フラグに登録されている場合、以前の FeatureFlag 値を検出します。 潜在的な例外をキャッチするために、右の例に示すように、コードに適切なエラー処理が設定されていることを確認する必要があります。 visitorCode を指定すると、isFeatureActive() メソッドはそれを一意の訪問者識別子として使用します。これは クロスデバイス実験 に役立ちます。visitorCode を指定し、isUniqueIdentifier パラメータを true に設定すると、SDK はフラッシュされたデータを指定された識別子に関連付けられた訪問者にリンクします。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、もともと訪問者に割り当てられた匿名の visitorCode にアクセスできないが、セッションマージ機能を使って匿名訪問者に接続された内部 ID にアクセスできる場合など、その他のエッジケースのシナリオでも役立つことがあります。
Kameleoon は、isFeatureActive()getVariation()getVariations() などの特定のメソッドを呼び出した際に、セッションと訪問者をカウントするためにトラッキングを使用します。訪問者をバリエーションに露出させてカウントする必要がある場合は、track パラメータにデフォルトの true 値を使用してください。訪問者を露出させる前にこれらのメソッドを呼び出す場合のみ、track パラメータを false に設定してください。例えば、訪問者を露出させる前に getVariations() を呼び出してすべてのバリエーションを取得する場合は、track パラメータを false に設定します。この設定により、Kameleoon がセッションを早期にカウントすることを防げます。その後、明示的に訪問者を露出させたときにトラッキングをトリガーできます。Kameleoon はデフォルトで毎秒トラッキングデータを送信します。トラッキング間隔の設定オプションを使用して、この間隔を最大5秒に設定できます。Kameleoon は、イベント間の間隔が30分未満である限り、トラッキングイベントを1つのセッションにグループ化します。トラッキングイベント間に30分以上経過した場合、Kameleoon はイベントを別のセッションとしてカウントします。訪問は、セッション内の最後に記録されたイベントから30分後にレポートに表示されます。
isFeatureActive() メソッドは、マスターフラグの状態ではなく、配信されたバリアントを評価します。ルールを除外すると、メソッドは その他すべての人に対しては のデフォルト状態を使用します。このデフォルト状態に Off を選択すると、マスター機能フラグが On であっても、メソッドは常に false を返します。
引数
戻り値
スローされる例外

getVariation()

  • 📨 Kameleoon にトラッキングデータを送信(track パラメータに依存)
特定の機能フラグに対して特定の訪問者に割り当てられた Variation を取得します。 このメソッドは必須引数として visitorCodefeatureKey を受け取ります。track 引数はオプションで、デフォルトは true です。 訪問者に割り当てられた Variation を返します。訪問者がいかなる機能フラグルールにも関連付けられていない場合、メソッドは指定された機能フラグのデフォルトの Variation を返します。 潜在的な例外を管理するために、コードに適切なエラー処理が実装されていることを確認してください。
デフォルトバリエーションとは、訪問者が機能フラグの事前定義された配信ルールのいずれにも一致しない場合に割り当てられるバリエーションを指します。言い換えれば、特定のルールでターゲットされていないすべてのユーザーに適用されるフォールバックバリエーションです。これは管理インターフェースの「その他すべての人に対しては…」セクションに表示されるバリエーションとして表現されます。
引数
戻り値
スローされる例外

getVariations()

  • 📨 Kameleoon にトラッキングデータを送信(track パラメータに依存)
すべての機能フラグにわたって、指定された訪問者に割り当てられた Variation オブジェクトのマップを取得します。 このメソッドは、利用可能なすべての機能フラグを反復処理し、指定された訪問者に関連付けられた各フラグに割り当てられた Variation を返します。必須引数として visitorCode を受け取り、onlyActivetrack はオプションです。
  • onlyActivetrue に設定されている場合、getVariations() メソッドは、ユーザーが off バリエーションにバケット化されていないことを条件に、機能フラグのバリエーションを返します。
  • track パラメータは、メソッドがバリエーションの割り当てをトラッキングするかどうかを制御します。デフォルトでは true に設定されています。false に設定すると、トラッキングは無効になります。
返されるマップは、機能フラグキーをキーとし、対応する Variation を値として構成されます。機能フラグにバリエーションが割り当てられていない場合、メソッドはそのフラグのデフォルトの Variation を返します。 潜在的な例外を管理するために、適切なエラー処理を実装する必要があります。
デフォルトバリエーションとは、訪問者が機能フラグの事前定義された配信ルールのいずれにも一致しない場合に割り当てられるバリエーションを指します。言い換えれば、特定のルールでターゲットされていないすべてのユーザーに適用されるフォールバックバリエーションです。これは管理インターフェースの「その他すべての人に対しては…」セクションに表示されるバリエーションとして表現されます。
引数
戻り値
スローされる例外

setForcedVariation()

このメソッドを使用すると、標準の評価プロセスをバイパスして、ユーザーに特定の Variation をプログラム的に割り当てることができます。これは、通常の評価ロジックが不要であるか、スキップする必要がある制御された実験で特に価値があります。デバッグやカスタムテストなどのシナリオでも役立ちます。 強制 バリエーションが設定されると、Kameleoon のリアルタイム評価ロジックを上書きします。セグメンテーション、ターゲティング条件、アルゴリズム計算などのプロセスはスキップされます。実験中のセグメンテーションとターゲティング条件を保持するには、代わりに forceTargeting=false を設定してください。
シミュレートされた バリエーションは、実行順序で常に優先されます。シミュレートされた バリエーション計算がトリガーされると、まず完全に処理され完了します。
強制バリエーションは、評価されたバリエーションと同じように扱われます。標準の評価されたバリエーションと同様に、分析でトラッキングされ、ユーザーコンテキストに保存されるため、レポートの一貫性が保証されます。 特定の条件下(例えば、無効なパラメータ、ユーザーコンテキスト、内部問題)では、メソッドが例外をスローすることがあります。アプリケーションを安定して回復力のあるものに保つために、適切な例外処理が不可欠です。
強制 バリエーションを シミュレートされた バリエーションと区別することが重要です:
  • 強制バリエーション: 個別の実験に固有のものです。
  • シミュレートされたバリエーション: 全体的な 機能フラグ の結果に影響します。
引数
スローされる例外
ほとんどの場合、例で示すように、基本のエラーである KameleoonException のみを処理する必要があります。ただし、異なるタイプのエラーへの対応が必要な場合は、特定の要件に基づいてそれぞれを個別に処理してください。さらに、信頼性を高めるために、Exception を含めて一般的な言語エラーを処理することもできます。

evaluateAudiences()

  • 📨 Kameleoon にトラッキングデータを送信
このメソッドは、利用可能なすべての Audiences Explorer セグメントに対して訪問者を評価し、一致する訪問者をトラッキングします。 evaluateAudiences() は、すべての関連する訪問者データが設定または更新された後、および機能バリエーションを取得したり機能フラグをチェックする 直前 に呼び出す必要があります。このアプローチにより、訪問者が利用可能な最新のデータに対して評価され、すべての基準に基づく正確なオーディエンス割り当てが可能になります。 このメソッドを呼び出した後、Audiences Explorer でセグメントパフォーマンスの詳細な分析を実行できます。
引数
スローされる例外
ほとんどの場合、例で示すように、基本のエラーである KameleoonException のみを処理する必要があります。ただし、異なるタイプのエラーへの対応が必要な場合は、特定の要件に基づいてそれぞれを個別に処理してください。さらに、信頼性を高めるために、Exception を含めて一般的な言語エラーを処理することもできます。

getDataFile()

すべての機能フラグを評価するには、getVariations() を使用してください。このメソッドは、DataFile を呼び出して getVariation() でフラグを反復処理するよりも効率的です。
現在の SDK 設定を DataFile オブジェクトとして返します。
引数
戻り値

訪問者データ

getVisitorCode()

このメソッドは以前 obtainVisitorCode と呼ばれていましたが、SDK バージョン 4.0.0 で削除されました。
このメソッドを呼び出して、現在の訪問者の Kameleoon visitorCode を取得します。この呼び出しは特に、フロントエンドとバックエンドの混合環境で Kameleoon を使用する際、ユーザー識別の一貫性を保証する必要がある場合に重要です。実装ロジックは以下のとおりです:
  1. まず、現在の HTTP リクエストに kameleoonVisitorCode cookie またはクエリパラメータが関連付けられているかどうかを確認します。もしあれば、これを訪問者識別子として使用します。
  2. 現在のリクエストに cookie やパラメータが存在しない場合、識別子を生成する2つのオプションがあります。1つのオプションは新しい識別子をランダムに作成することで、もう1つは defaultVisitorCode 引数が提供されている場合にそれを使用することです。この機能により、お客様が独自の識別子を訪問者コードとして入力でき、これは有益です。Kameleoon の訪問者を独自のユーザーとシームレスにマッチさせることができ、マッチングテーブルでの追加検索の必要がなくなります。
  3. いずれの場合も、サーバーサイド(HTTP ヘッダー経由)の kameleoonVisitorCode cookie にその値が設定されます。メソッドはこの訪問者の値を返します。
詳細については、こちらの記事 を参照してください。
独自の visitorCode を提供する場合、その一意性はあなた側で保証する必要があります。SDK はそれを確認できません。また、visitorCode の長さは 255 文字に制限されていることに注意してください。それを超える文字があると例外がスローされます。
getVisitorCode() メソッドを使用すると、訪問者の シミュレートされた バリエーションを設定できます。cookie(リクエスト または ドキュメント から)に kameleoonSimulationFFData キーが含まれている場合、標準の評価プロセスはバイパスされます。代わりに、メソッドは提供されたデータに基づいて直接 Variation を返します。シミュレーションは2つの方法で適用できます:
  • 自動(推奨): Kameleoon Web Experimentation または SDK を ハイブリッドモード で使用している場合、シミュレーションパネル を使用してバリアントの表示をシミュレートすると、cookie は自動的に作成されます。
  • 手動: kameleoonSimulationFFData cookie を手動で設定します。
シミュレートされた バリエーションを 強制 バリエーションと区別することが重要です:
  • シミュレートされたバリエーション: 全体的な 機能フラグ の結果に影響します。
  • 強制バリエーション: 個別の実験に固有のものです。
⚙️ 手動セットアップkameleoonSimulationFFData cookie が以下の形式に従っていることを確認してください:
  • kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: 指定された featureKey に対して、実験 expIdvarId を持つバリエーションをシミュレートします。
  • kameleoonSimulationFFData={"featureKey":{"expId":0}}: 指定された featureKey のデフォルトバリエーション(Production の他すべての人に対しては セクションで定義されている)をシミュレートします。
⚠️ 正しく機能させるには、cookie の値が encodeURIComponent などのメソッドを使用して URI コンポーネントとしてエンコードされている必要があります。
引数
戻り値
スローされる例外

addData()

addData() メソッドは、他のメソッドが現在の訪問者をターゲットするかどうかを判断するために使用できるように、ターゲティングデータ をストレージに追加します。 addData() メソッドは値を返さず、それ自体で Kameleoon バックエンドサーバーと通信しません。代わりに、宣言されたすべてのデータは flush() メソッドによる将来の送信のために保存されます。このアプローチにより、データは通常 flush() によってトリガーされる単一のサーバーコールにグループ化されるため、サーバーコールの数が削減されます。 trackConversion() メソッドも、flush() と同様に、以前に関連付けられたデータを送信します。実験ルールがトリガーされた場合、getVariation() および getVariations() メソッドにも同じことが当てはまります。
ほとんどのデータタイプでは、各訪問者は関連付けられたデータのインスタンスを1つだけ持てます。ただし、CustomData は例外です。訪問者はインデックスごとに関連付けられた CustomData のインスタンスを1つ持てます。
引数
例外

flush()

  • 📨 Kameleoon にトラッキングデータを送信
flush() メソッドは、特定の訪問者にリンクされた Kameleoon データを送信する責任があります。以前 addData メソッドで追加されたすべてのデータ(以前の メソッドの呼び出し でまだ送信されていないもの)を含むトラッキングリクエストをトリガーします。flush() は非ブロッキングで、instant パラメータが true に設定されていない限り、サーバーコールは非同期で行われます。 flush() 関数を使用すると、特定の visitorCode にリンクされたデータがいつサーバーに送信されるかを決定できます。例えば、addData() を複数回(例えば10回)呼び出した場合、コールするたびにデータをサーバーに送信するのは非効率です。代わりに、最初にすべてのデータを集めてから、最後に flush() を1回呼び出して、すべてを一度に送信できます。 visitorCode を指定すると、flush() メソッドはそれを一意の訪問者識別子として使用します。これは クロスデバイス実験 に役立ちます。visitorCode を指定し、isUniqueIdentifier パラメータを true に設定すると、SDK はフラッシュされたデータを指定された識別子に関連付けられた訪問者にリンクします。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、訪問者に与えられた匿名の visitorCode にアクセスできないが、セッションマージを通じてその訪問者にリンクされた内部 ID を使用できる場合など、独特な状況で役立つことがあります。
引数

getRemoteData()

このメソッドは以前 retrieveDataFromRemoteSource と呼ばれていましたが、SDK バージョン 4.0.0 で削除されました。
getRemoteData() メソッドを使用すると、特定の siteCode(KameleoonClientFactory.create() で設定)に対して提供する キー に基づいてデータを取得できます。Kameleoon サーバーがこのデータを保存します。Data API は通常、リモートサーバーにこのデータを保存するために使用されます。このメソッドは、スケーラブルなサーバーと組み合わせることで、大量のデータを簡単に保存できるようにします。その後、訪問者またはユーザーごとにこのデータにアクセスできます。
引数
戻り値
スローされる例外

getRemoteVisitorData()

getRemoteVisitorData() は、Kameleoon Data API から visitorCode の Kameleoon Visits Data を取得する非同期メソッドです。このメソッドは、ターゲティング決定を行う際に他のメソッドが使用するために、データをストレージに追加します。 このメソッドを使用して取得されたデータは、以下のような場合に重要な役割を果たします:
  • 他のデバイスから収集されたデータを使用する場合。
  • ユーザーの履歴(過去の訪問中に閲覧したページなど)にアクセスする場合。
  • データレイヤー変数やフロントエンドでのみコンバージョンする目標など、クライアントサイドでのみアクセス可能なデータを使用する場合。
可能なユースケースをより理解するには、こちらの記事 を読んでください。
デフォルトでは、getRemoteVisitorData() は自動的に scope=Visitor を持つ最新の保存済みカスタムデータを取得し、addData() メソッドを呼び出すことなく訪問者に添付します。これは 複数のデバイス間でのカスタムデータの同期 に特に役立ちます。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、訪問者に与えられた匿名の visitorCode にアクセスできないが、セッションマージを通じてその訪問者にリンクされた内部 ID を使用できる場合など、独特な状況で役立つことがあります。
引数
戻り値
getRemoteVisitorData() でのパラメータの使用
getRemoteVisitorData() メソッドは、訪問者のデータを取得する際にさまざまなパラメータを定義できる柔軟性を提供します。目標、実験、バリエーションに基づいてターゲティングする場合、すべてのデータタイプに同じアプローチが適用されます。 例えば、「注文取引」という目標を達成した訪問者のデータを取得したいとします。getRemoteVisitorData() メソッド内でパラメータを指定して、ターゲティングを絞り込むことができます。例えば、過去5回の訪問で目標にコンバージョンしたユーザーのみをターゲットにする場合、previousVisitAmount パラメータを 5 に、conversions を true に設定できます。 この例で示された柔軟性は、目標データに限定されません。getRemoteVisitorData() メソッド内でパラメータを使用することで、さまざまな訪問者の行動に関するデータを取得できます。
利用可能な Kameleoon\Types\RemoteVisitorDataFilter オプションのリストは以下のとおりです:

getVisitorWarehouseAudience()

このメソッドは、指定された visitorCodewarehouseKey を使用して、データウェアハウス内の訪問者に関連付けられたすべてのオーディエンスデータを取得します。warehouseKey は通常、内部のユーザー ID です。customDataIndex パラメータは、Kameleoon が訪問者をターゲットするために使用する Kameleoon カスタムデータに対応します。詳細については、ウェアハウスターゲティングのドキュメント を参照してください。メソッドは結果を返された future に CustomData オブジェクトとして渡し、データが訪問者に追加され、ターゲティング目的で利用可能であることを確認します。
引数
戻り値
スローされる例外

setLegalConsent()

訪問者が個人データの使用に法的同意をしたかどうかを指定するには、このメソッドを使用する必要があります。legalConsent パラメータを false に設定すると、トラッキングリクエストに含めることができるデータのタイプが制限されます。このメソッドは、訪問者のデータを責任を持って管理しながら、法的および規制上の要件に従うのに役立ちます。個人データに関する詳細は、同意管理ポリシー を参照してください。
引数
スローされる例外
同意撤回時の動作
setLegalConsent()legalConsent=false で呼び出した場合、SDK は kameleoonVisitorCode cookie を削除しません。代わりに、cookie の有効期限の延長を停止し、cookie が自然に有効期限切れになるまで持続することを許可します。 コンプライアンス要件でオプトアウト時に cookie ファイルを即座に削除する必要がある場合は、フレームワークのネイティブ cookie 管理メソッドを使用して手動で削除する必要があります。SDK はファイルを自動的に削除しません。

目標とサードパーティ分析

getEngineTrackingCode()

Kameleoon は、Mixpanel、Google Analytics 4、Segment などのいくつかの分析ソリューションと統合しています。サーバーサイド実験を正しくトラッキングするには、訪問者が実験をトリガーした後に getEngineTrackingCode() メソッドを呼び出してください。SDK は、訪問者が前の5秒間にトリガーした実験用の JavaScript キューコマンドを返します。このコードをページに挿入すると、Engine.js がコマンドを処理し、アクティブな分析統合を通じて露出イベントを送信します。 このメソッドの実装の詳細については、ハイブリッド実験 を参照してください。
  • この機能を使用するには、PHP SDK と Kameleoon Engine.js の両方を実装する必要があります。このフローでは Engine.js はトラッキング目的でのみ使用されるため、非同期タグを終了の </body> タグの前にインストールできます。
  • Kameleoon で実験のみをトラッキングしたく、サードパーティの分析ツールに露出イベントを送信する必要がない場合は、JavaScript / TypeScript SDK を使用してください。このオプションは サーバーレスエッジコンピュートプラットフォーム で正常に動作します。JavaScript / TypeScript SDK は、getVisitorCode を呼び出すと、window.kameleoonQueue に対応する実験の割り当てを追加していれば、自動的にバリエーションをトラッキングします。
  • 返されたトラッキングコードを HTML <script> タグに直接挿入できます。
この例では、123456234567 は実験 ID で、78908901 はバリエーション ID です。実装では、SDK が返されるトラッキングコード内でこれらの値を生成します。
引数
戻り値

trackConversion()

  • 📨 Kameleoon にトラッキングデータを送信
このメソッドを使用して、特定の 目標 とユーザーのコンバージョンをトラッキングします。このメソッドには visitorCodegoalId が必要です。さらに、このメソッドはオプションの revenuenegativemetadata 引数も受け取ります。visitorCode は通常、実験をトリガーする際に使用されたものと同一です。 trackConversion() メソッドは値を返しません。このメソッドは非ブロッキングで、サーバーコールは非同期で行われます。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、もともと訪問者に割り当てられた匿名の visitorCode にアクセスできないが、セッションマージ機能を使って匿名訪問者に接続された内部 ID にアクセスできる場合など、その他のエッジケースのシナリオでも役立つことがあります。
引数
メタデータ値は 生データのエクスポート および 結果ページ を通じてアクセスできます。metadata パラメータが提供される場合、Kameleoon は addData() メソッドを使用して以前に収集されたものではなく、指定された値を現在のコンバージョンに使用します。パラメータが省略された場合、Kameleoon はコンバージョン前および同じ訪問内のそれら CustomData の最後にトラッキングされた値を使用します。Kameleoon は、trackConversion() メソッドにパラメータとして明示的に渡されたメタデータ値のみを考慮します。以下の例では、Kameleoon はパラメータとして明示的に提供されたカスタムデータ値(ここではインデックス 5 と値 ‘Amex Credit Card’)のみにコンバージョンを関連付けます。
例外

データタイプ

Kameleoon\Data から、以下の事前定義されたデータタイプを使用できます。

Browser

ここに保存される Browser データセットは、それに関連付けられた任意の値で実験とパーソナライゼーションレポートをフィルタリングするために使用できます。

PageView

リファラーのインデックス(ID)は、Acquisition channel 構成ページのバックオフィスで利用できます。注意: このインデックスは 0 から始まるため、特定のサイト用に作成した最初の アクイジションチャネル は ID 1 ではなく ID 0 になります。

Conversion

ここに保存される Conversion データセットは、それに関連付けられた任意の目標で実験とパーソナライゼーションレポートをフィルタリングするために使用できます。
  • 各訪問者は複数の Conversion オブジェクトを持つことができます。
  • goalId は Kameleoon アプリで確認できます。

CustomData

CustomData を使用すると、任意のタイプのデータを各訪問者に簡単に関連付けることができます。その後、セグメント のターゲティング条件、または実験レポートのフィルタ/ブレークダウンとして使用できます。 カスタムデータの詳細については、こちらの記事 を参照してください。
  • 各訪問者は、一意の index ごとに 1 つの CustomData のみが許可されます。同じ index を持つ別の CustomData を追加すると、既存のものが置き換えられます。
  • カスタムデータの「index」は、カスタムデータダッシュボード の「INDEX」列で確認できます。
  • プライバシー上の理由で SDK が選択されたインデックスを持つデータを Kameleoon サーバーに送信しないようにするには、カスタムデータの作成時に このデータをターゲティング目的でローカルのみで使用する オプションを有効にしてください。
  • SDK インスタンス構成が最新でない場合、または名前が登録されていない場合に名前で作成された CustomData インスタンスを追加すると、データは無視されます。

Device

UserAgent

訪問者のユーザーエージェント情報をトラッキングします。サーバーサイド実験は、クライアントサイド実験よりもボットトラフィックの影響を受けやすいです。Kameleoon はこの問題に対処し、既知のボットとスパイダーを認識するために、IAB/ABC International Spiders and Bots List を使用します。Kameleoon は、UserAgent フィールドを使用して、コンバージョン指標を歪める可能性のあるボットやその他の不要なトラフィックを除外します。詳細については、ボットフィルタリング に関するヘルプ記事を参照してください。 内部ボットを使用している場合は、分析から除外するために、ユーザーエージェントに値 curl/8.0 を渡すことをお勧めします。

UniqueIdentifier

訪問者に UniqueIdentifier を追加しない場合、visitorCode が一意の訪問者識別子として使用されます。これは クロスデバイス実験 に役立ちます。訪問者に UniqueIdentifier を追加すると、SDK はフラッシュされたデータを指定された識別子に関連付けられた訪問者にリンクします。 isUniqueIdentifier は、訪問者に与えられた匿名の visitorCode にアクセスできないが、セッションマージを通じてその訪問者にリンクされた内部 ID を使用できる場合など、独特な状況で役立つことがあります。

OperatingSystem

OperatingSystem には、訪問者のデバイスのオペレーティングシステムに関する情報が含まれます。
各訪問者は 1 つの OperatingSystem のみを持つことができます。2 つ目の OperatingSystem を追加すると、最初のものが上書きされます。
Cookie には、訪問者のデバイスに保存された cookie に関する情報が含まれます。
各訪問者は 1 つの Cookie のみを持つことができます。2 つ目の Cookie を追加すると、最初のものが上書きされます。

Geolocation

Geolocation には、訪問者のジオロケーションの詳細が含まれます。
  • 各訪問者は 1 つの Geolocation のみを持つことができます。2 つ目の Geolocation を追加すると、最初のものが上書きされます。

ApplicationVersion

ApplicationVersion は、アプリケーションのセマンティックバージョン番号を表します。
訪問者 は 1 つの ApplicationVersion のみを持つことができます。2 つ目のインスタンスを追加すると、最初のものが上書きされます。

返される型

DataFile

DataFile には、SDK 設定の詳細が含まれます。 クライアントが必要とする場合、追加情報で拡張できます。詳細が必要な場合は、カスタマーサクセスマネージャーにお問い合わせください。

FeatureFlag

FeatureFlag は、機能フラグ自体を定義する一連のプロパティ(例えば、VariationsRules、環境ステータス、その他の関連詳細)を表します。 クライアントが必要とする場合、追加情報で拡張できます。詳細が必要な場合は、カスタマーサクセスマネージャーにお問い合わせください。

Rule

Rule は、ルール自体を定義する一連のプロパティ(例えば、Variations)を表します。 クライアントが必要とする場合、追加情報で拡張できます。詳細が必要な場合は、カスタマーサクセスマネージャーにお問い合わせください。

Variation

Variation には、訪問者に割り当てられたバリエーションに関する情報(または特定の割り当てがない場合はデフォルトバリエーション)が含まれます。
  • Variation オブジェクトは、割り当てられたバリエーションとその関連実験に関する詳細を提供し、Variable オブジェクトはバリエーション内の各変数に関する特定の詳細を含みます。
  • id または experimentIdnull の場合(デフォルトバリエーションを示します)を処理するようにコードを確認してください。
  • バリエーションに変数が関連付けられていない場合、variables 配列は空になる可能性があります。

Variable

Variable には、割り当てられたバリエーションに関連付けられた変数に関する情報が含まれます。

非推奨のメソッド

これらのメソッドは非推奨であり、SDK バージョン 5.0.0 で削除されます。

getFeatureVariationKey()

  • 📨 Kameleoon にトラッキングデータを送信
代わりに getVariation() を使用してください。
機能バリエーションキーを取得するには、SDK の getFeatureVariationKey() メソッドを呼び出します。 このメソッドは、指定されたユーザーのバリエーションキーを取得するために、必須引数として visitorCodefeatureKey を受け取ります。 ユーザーがこの機能フラグに関連付けられたことがない場合、SDK はランダムにバリエーションキーを返します(機能フラグルールに従って)。指定された visitorCode を持つユーザーが既にこの機能フラグに登録されている場合、以前の バリエーションキー 値を検出します。ユーザーがどのルールにも一致しない場合、顧客のアカウントで定義できるデフォルト値が返されます。 潜在的な例外をキャッチするために、右の例に示すように、コードに適切なエラー処理が設定されていることを確認する必要があります。 visitorCode を指定すると、getFeatureVariationKey() メソッドはそれを一意の訪問者識別子として使用します。これは クロスデバイス実験 に役立ちます。visitorCode を指定し、isUniqueIdentifier パラメータを true に設定すると、SDK はフラッシュされたデータを指定された識別子に関連付けられた訪問者にリンクします。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、もともと訪問者に割り当てられた匿名の visitorCode にアクセスできないが、セッションマージ機能を使って匿名訪問者に接続された内部 ID にアクセスできる場合など、その他のエッジケースのシナリオでも役立つことがあります。
引数
戻り値
スローされる例外

getActiveFeatureListForVisitor()

代わりに getActiveFeatures() を使用してください。
このメソッドは入力パラメータとして visitorCode のみを受け取ります。結果には、指定された訪問者のアクティブな機能フラグのみが含まれます。
引数
戻り値
スローされる例外

getActiveFeatures()

代わりに getVariations() を使用してください。
getActiveFeatures メソッドは、指定された訪問者コードで利用可能なアクティブな機能フラグに関する情報を取得します。
引数
戻り値
スローされる例外

getFeatureVariable()

  • 📨 Kameleoon にトラッキングデータを送信
  • 代わりに getVariation() を使用してください。
  • このメソッドは以前 obtainFeatureVariable と呼ばれており、SDK バージョン 3.0.0 以降非推奨となっており、将来のリリースで削除されます。
ユーザーに関連付けられたバリエーションキーの変数を取得するには、getFeatureVariable() メソッドを呼び出します。 このメソッドは、指定されたユーザーのバリエーションキーの変数を取得するために、必須引数として visitorCodefeatureKeyvariableName を受け取ります。 ユーザーがこの機能フラグに関連付けられたことがない場合、SDK はランダムにバリエーションキーの変数値を返します(機能フラグルールに従って)。指定された visitorCode を持つユーザーが既にこの機能フラグに登録されている場合、メソッドは関連付けられた バリエーション変数 値を検出します。ユーザーがどのルールにも一致しない場合、デフォルト変数が返されます。 潜在的な例外をキャッチするために、右の例に示すように、コードに適切なエラー処理が設定されていることを確認してください。 visitorCode を指定すると、getFeatureVariable() メソッドはそれを一意の訪問者識別子として使用します。これは クロスデバイス実験 に役立ちます。visitorCode を指定し、isUniqueIdentifier パラメータを true に設定すると、SDK はフラッシュされたデータを指定された識別子に関連付けられた訪問者にリンクします。
isUniqueIdentifier パラメータは非推奨です。代わりに UniqueIdentifier を使用してください。isUniqueIdentifier は、もともと訪問者に割り当てられた匿名の visitorCode にアクセスできないが、セッションマージ機能を使って匿名訪問者に接続された内部 ID にアクセスできる場合など、その他のエッジケースのシナリオで役立ちます。
引数
戻り値
スローされる例外

getFeatureVariationVariables()

  • 代わりに getVariation() を使用してください。
  • このメソッドは以前 getFeatureAllVariables と呼ばれていましたが、SDK バージョン 4.0.0 で削除されました。
すべての機能変数を取得するには、getFeatureVariationVariables() メソッドを呼び出します。機能変数は、Web アプリケーションを介して簡単に変更できます。 このメソッドは、必須引数として featureKeyvariationKey を受け取ります。Web インターフェースで定義されているように、オブジェクト型のデータを返します。要求された機能フラグが SDK のクライアント設定で見つからない場合、メソッドはエラー(FeatureNotFound)をスローします。バリエーションキーが見つからない場合、メソッドは FeatureVariationNotFound エラーをスローします。
引数
戻り値
スローされる例外

getFeatureList()

SDK で現在利用可能な機能フラグキーのリストを返します。
引数
戻り値