Skip to main content
実験が複雑になるにつれて、それらが効果的に動作し、バグがないことを保証することが課題となります。これまで、開発者には2つの選択肢がありました。
  • Kameleoon に直接 JavaScript コードを書き、Previsualization (事前可視化) 機能を使用して確認する。
  • Chrome の開発者コンソールにコードをコピー&ペーストする。
どちらの方法も煩雑であり、開発者の生産性を低下させ、本番条件と一致しなかったり、実験の挙動をシミュレートする際に差異が出たりすることもありました。 開発者は今後、Kameleoon Visual Studio Code 拡張機能を使用して Microsoft Visual Studio Code で JavaScript または TypeScript コードを記述できます。拡張機能は更新を自動的に検出し、Kameleoon の Chrome 拡張機能を介してブラウザに送信します。Chrome は次に新しいコードを Kameleoon エンジンに挿入し、ページを自動的にリロードします。Visual Studio Code は Kameleoon と統合された最初の開発環境であり、クライアントの要望に応じて他の環境にも拡張される可能性があります。

インストール

拡張機能は Visual Studio マーケットプレイス からインストールできます。
Visual Studio marketplace

使い始める

最初のステップは、VS Code プロジェクトの初期化です。初期化するには、コマンドパレットに移動して Kameleoon - Initialize コマンドを実行します。
Ctrl+Shift+P を押して Command Palette を表示し、「Kameleoon - Initialize」と入力して Kameleoon - Initialize コマンドをフィルタリングおよび表示します。
ブリッジがプラットフォームと認証および通信できるようにするには、Kameleoon Automation API クレデンシャル を提供します。プロファイル から認証情報を取得したら、リポジトリのルートにある credentials.json ファイルに追加します。
最後に、次のコマンドを実行して必要な NodeJS モジュールをインストールします。

Kameleoon アカウントからのインポート

Kameleoon - Import all projects コマンドを使用して、すべてのプロジェクト、実験、パーソナライゼーション、バリエーション、セグメント、トリガー、ゴール、カスタムデータをインポートします。 Kameleoon アカウントがすべてを一度にロードするには大きすぎる場合は、Kameleoon - Import project コマンドを使用して、インポートする単一のプロジェクトを選択します。

使い方

エンティティをインポート

次のいずれかのコマンドを使用してエンティティをインポートできます。

エンティティを作成

次のいずれかのコマンドを使用してエンティティを作成できます。

エンティティを複製

次のいずれかのコマンドを使用してエンティティを複製できます。

エンティティをフェッチ

次のいずれかのコマンドを使用してローカルエンティティを更新できます。

エンティティをデプロイ

次のいずれかのコマンドを使用してローカルエンティティをデプロイできます。

同期

Kameleoon Campaigns ビュー

拡張機能は Kameleoon Campaigns と呼ばれるビューを提供します。このビューは Explorer パネルで利用できます。 これにより、すべてのプロジェクトとキャンペーン、それらの現在の状態と関連するバリエーションを表示できます。
Kameleoon Campaigns view

技術リファレンス

エンティティ

次の表は、VS Code 拡張機能を使用したエンティティの管理に関する概要を示しています。

プロジェクト

/custom-data フォルダがあるため、/projects フォルダがルートではなく、プロジェクトを格納します。
projects folder
各プロジェクトには独自の proj.info.json ファイルがあり、ID (site ID と sitecode) が含まれます。VS Code 拡張機能はプロジェクトの作成をサポートしていないため、プロジェクトには proj.config.json ファイルはありません。 各プロジェクトには、実験、パーソナライゼーション、カスタムデータ、ゴール、セグメント、トリガー、グローバルスクリプトを含めることができます。

グローバルスクリプト

グローバルスクリプトは /projects/*/global フォルダ配下に格納されます。 各プロジェクトは1つのグローバルスクリプトしか持てないため、グローバルスクリプトフォルダには info.json や config.json ファイルはありません。スクリプト自体のみが含まれます。

実験

実験は /projects/*/experiments フォルダ配下に格納されます。
Experiments folder
各実験には独自のフォルダがあります。 各実験には独自の exp.config.json および exp.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用して実験のフォルダを作成しますが、exp.info.json および exp.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

パーソナライゼーション

パーソナライゼーションは /projects/*/personalizations フォルダ配下に格納されます。
Personalization folder
各パーソナライゼーションには独自のフォルダがあります。 各パーソナライゼーションには独自の perso.config.json および perso.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してパーソナライゼーションフォルダを作成しますが、perso.info.json および perso.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

バリエーション

バリエーションは、関連する実験またはパーソナライゼーションフォルダ配下に格納されます。
Variation folder
各バリエーションには独自のフォルダがあります (パーソナライゼーション内でも)。 各バリエーションには独自の var.config.json および var.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してバリエーションのフォルダを作成しますが、var.info.json および var.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

セグメント

セグメントは /projects/*/segments フォルダ配下に格納されます。
Segments folder
各セグメントには独自のフォルダがあります。 各セグメントには独自の segment.config.json および segment.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してセグメントのフォルダを作成しますが、segment.info.json および segment.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

トリガー

トリガーは /projects/*/triggers フォルダ配下に格納されます。
Triggers folder
各トリガーには独自のフォルダがあります。 各トリガーには独自の trigger.config.json および trigger.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してトリガーのフォルダを作成しますが、trigger.info.json および trigger.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

ゴール

ゴールは /projects/*/goals フォルダ配下に格納されます。
Goals folder
各ゴールには独自のフォルダがあります。 各ゴールには独自の goal.config.json および goal.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してゴールのフォルダを作成しますが、goal.info.json および goal.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

カスタムデータ

カスタムデータは /projects/*/custom-data フォルダ配下に格納されます。
Custom-data folder
各カスタムデータには独自のフォルダがあります。 各カスタムデータには独自の custom.config.json および custom.info.json ファイルがあります。
デフォルトでは、拡張機能は以前のバージョンと同じ命名規則を使用してカスタムデータのフォルダを作成しますが、custom.info.json および custom.config.json ファイルも作成します。フォルダ名は重要ではありません。構成ファイルのみが使用されます。

コマンド

初期化コマンド

Kameleoon - Initialize
Kameleoon - Initialize は新しい VS Code プロジェクトの最初に実行する最初のコマンドです。 このコマンドは、次のファイルを作成して Visual Studio Code プロジェクトを初期化します。
コマンドの実行後、credential.json ファイルがエディタで開かれます。
アクセシビリティ

インポートコマンド

インポートコマンドは、欠落しているエンティティをインポートします。エンティティフォルダが既に存在する場合、コマンドはインポートしません。インポートコマンドは新しいエンティティをインポートする際に適用されます。エンティティを最新バージョンに更新するには、fetch コマンドを使用します。
Kameleoon - Import all projects
このコマンドは /projects フォルダを作成し、すべてのプロジェクトをインポートして、各プロジェクトフォルダ、サブフォルダ、ファイルを作成します。
アクセシビリティ
Kameleoon - Import project
このコマンドは、特定のプロジェクトを /projects フォルダ配下にインポートし、それに関連するすべてのエンティティのフォルダとファイルを作成します。
アクセシビリティ
Kameleoon - Import experiment
このコマンドは、プロジェクト配下の特定の実験をインポートし、実験フォルダとファイル (exp.info.json と exp.config.json ファイルおよびバリエーションを含む) を作成します。
アクセシビリティ
Kameleoon - Import personalization
このコマンドは、プロジェクト配下の特定のパーソナライゼーションをインポートし、パーソナライゼーションフォルダとファイル (perso.info.json と perso.config.json ファイルおよび唯一のバリエーションを含む) を作成します。
アクセシビリティ
Kameleoon - Import goal
このコマンドは、プロジェクト配下の特定のゴールをインポートし、ゴールフォルダとファイル (goal.config.json と goal.info.json) を作成します。
アクセシビリティ
Kameleoon - Import segment
このコマンドは、プロジェクト配下の特定のゴールをインポートし、セグメントフォルダとファイル (segment.config.json と segment.info.json) を作成します。
アクセシビリティ
Kameleoon - Import trigger
このコマンドは、プロジェクト配下の特定のトリガーをインポートし、トリガーフォルダとファイル (trigger.config.json と trigger.info.json) を作成します。
アクセシビリティ
Kameleoon - Import custom data
このコマンドは、プロジェクト配下の特定のカスタムデータをインポートし、カスタムデータフォルダとファイル (custom.config.json と custom.info.json) を作成します。
アクセシビリティ

fetch コマンド

fetch コマンドは、ID を持つ有効な [entity-prefix].info.json ファイルを含むエンティティフォルダ (それぞれの共通エンティティフォルダにネストされている) の右クリックメニューから使用できます。fetch コマンドは、API 応答を使用してエンティティファイルを完全に上書きします。
Kameleoon - Fetch project
このコマンドは、プロジェクトファイルおよびフォルダ (実験、パーソナライゼーション、バリエーション、セグメント、トリガー、カスタムデータ、グローバルスクリプトを含む) を最新バージョンで上書きします。このコマンドは、エンティティまたはファイルが欠落している場合に、実験、パーソナライゼーション、バリエーション、セグメント、カスタムデータ、グローバルスクリプトのファイルとフォルダも作成します。
アクセシビリティ
Kameleoon - Fetch experiment
このコマンドは、実験ファイルおよびフォルダ (バリエーションを含む) を最新バージョンで上書きします。このコマンドは、バリエーションまたはファイルが欠落している場合に、バリエーションフォルダとファイルも作成します。
アクセシビリティ
Kameleoon - Fetch personalization
このコマンドは、パーソナライゼーションファイルおよびフォルダ (唯一のバリエーションを含む) を最新バージョンで上書きします。このコマンドは、バリエーションファイルおよびフォルダが欠落している場合にも作成します。
アクセシビリティ
Kameleoon - Fetch segment
このコマンドは、セグメントファイルおよびフォルダを最新バージョンに上書きします。
アクセシビリティ
Kameleoon - Fetch trigger
このコマンドは、トリガーファイルおよびフォルダを最新バージョンに上書きします。
アクセシビリティ
Kameleoon - Fetch goal
このコマンドは、ゴールファイルおよびフォルダを最新バージョンに上書きします。
アクセシビリティ
Kameleoon - Fetch custom data
このコマンドは、カスタムデータファイルおよびフォルダを最新バージョンに上書きします。
アクセシビリティ

作成コマンド

Kameleoon - Create experiment
このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しい実験を作成し、実験フォルダとファイル (exp.info.json と exp.config.json ファイルおよび最初のバリエーションを含む) を作成します。
アクセシビリティ
Kameleoon - Create variation
このコマンドは、本ドキュメントで説明されているように、実験配下に新しいバリエーションを作成し、バリエーションフォルダとファイル (var.info.json と var.config.json ファイルを含む) を作成します。
アクセシビリティ
Kameleoon - Create personalization
このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいパーソナライゼーションを作成し、パーソナライゼーションフォルダとファイル (perso.info.json と perso.config.json ファイルおよび唯一のバリエーションを含む) を作成します。
アクセシビリティ
Kameleoon - Create goal
このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいゴールを作成し、ゴールフォルダとファイル (goal.info.json と goal.config.json ファイルを含む) を作成します。
アクセシビリティ
Kameleoon - Create segment
このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいセグメントを作成し、セグメントフォルダとファイル (seg.info.json と seg.config.json ファイルを含む) を作成します。
アクセシビリティ
Kameleoon - Create trigger
このコマンドは、本ドキュメントで説明されているように、プロジェクト配下に新しいトリガーを作成し、トリガーフォルダとファイル (trigger.info.json と trigger.config.json ファイルを含む) を作成します。
アクセシビリティ
Kameleoon - Create custom data
このコマンドは、本ドキュメントで説明されているように、Kameleoon アカウントおよび /custom-data フォルダ内に新しいカスタムデータを作成し、カスタムデータのフォルダとファイル (custom.info.json と custom.config.json ファイルを含む) を含めます。
アクセシビリティ

複製コマンド

Kameleoon - Duplicate experiment
このコマンドは、同じプロジェクト配下に実験を複製します。実験のフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate variation
このコマンドは、同じ実験配下にバリエーションを複製します。バリエーションのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate personalization
このコマンドは、同じプロジェクト配下にパーソナライゼーションを複製します。パーソナライゼーションのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate segment
このコマンドは、同じプロジェクト配下にセグメントを複製します。セグメントのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate trigger
このコマンドは、同じプロジェクト配下にトリガーを複製します。トリガーのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate goal
このコマンドは、同じプロジェクト配下にゴールを複製します。ゴールのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ
Kameleoon - Duplicate custom data
このコマンドは、同じプロジェクト配下にカスタムデータを複製します。カスタムデータのフォルダとファイルを複製しますが、ID と名前は異なります。
アクセシビリティ

デプロイコマンド

デプロイコマンドは、変更を本番環境にプッシュします。任意のスクリプトファイル (JS、TS、CSS、SCSS) をデプロイまたは同期すると、拡張機能がコンパイルされたコードをビルドして _build フォルダに保存するように促します。
Kameleoon - Deploy global code
このコマンドは、本番環境のグローバルコードを更新します。グローバルコードのデプロイは、プロジェクトの proj.info.json ファイルに基づきます。
アクセシビリティ
Kameleoon - Deploy experiment
このコマンドは、exp.config.json、exp.info.json、common.js、common.css、およびネストされたすべてのバリエーションフォルダに基づいて、本番環境の実験を更新します。
アクセシビリティ
Kameleoon - Deploy variation
このコマンドは、var.config.json と var.info.json を含むバリエーションのファイルに基づいて、本番環境のバリエーションを更新します。
アクセシビリティ
Kameleoon - Deploy personalization
このコマンドは、perso.config.json、perso.info.json、および js と css ファイルを含むネストされたフォルダに基づいて、本番環境のパーソナライゼーションを更新します。
アクセシビリティ
Kameleoon - Deploy goal
このコマンドは、goal.config.json と goal.info.json ファイルに基づいて、本番環境のゴール情報を更新します。
アクセシビリティ
Kameleoon - Deploy segment
このコマンドは、segment.config.json と segment.info.json ファイルに基づいて、本番環境のセグメント情報を更新します。
アクセシビリティ
Kameleoon - Deploy trigger
このコマンドは、trigger.config.json と trigger.info.json ファイルに基づいて、本番環境のトリガーを更新します。
アクセシビリティ
Kameleoon - Deploy custom data
このコマンドは、custom.config.json と custom.info.json ファイルに基づいて、本番環境のセグメント情報を更新します。
アクセシビリティ

同期コマンド

同期されたファイルを保存すると、同期がトリガーされます。一度に同期できるエンティティは1つだけです。
Kameleoon - Synchronize variation code to Chrome
このコマンドは、js と css 両方のファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。TS および SCSS ファイルも受け入れます。
アクセシビリティ
Kameleoon - Synchronize common code to Chrome
このコマンドは、common.js と common.css 両方のファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。TS および SCSS ファイルも受け入れます。
アクセシビリティ
Kameleoon - Synchronize global code to Chrome
このコマンドは、index.js ファイルを Chrome 拡張機能に同期し、ウェブページにコードを挿入します。
アクセシビリティ
Kameleoon - Remove synchronization
このコマンドは同期を削除します。
アクセシビリティ

FAQ

「エンティティ」という言葉は、拡張機能が操作するさまざまなオブジェクト (実験、パーソナライゼーション、プロジェクト、バリエーション、セグメント、トリガー、カスタムデータ、ゴールなど) を指します。
Kameleoon は、ファイルおよびフォルダ命名規則を使用しなくなりました。エンティティ (実験、バリエーションなど) は JSON 構成ファイルを使用して作成します。この拡張機能は、ファイルベースアーキテクチャと呼ばれる構成ファイルに基づく規約を使用します。ファイルベースアーキテクチャは、以前のバージョンで使用されていたファイルおよびフォルダ命名規則を廃止します。代わりに、エンティティ情報を含む複数の JSON ファイルを使用します。ファイルには2種類あります。
  • [entity].info.json — このファイルには、ID とその他のアカウント関連情報が含まれます。
  • [entity].config.json — このファイルにはエンティティの構成が含まれ、別のアカウントで同じエンティティを再作成するために使用できます。
いいえ、インポートコマンドはファイルやフォルダを上書きしませんが、ファイルやフォルダが存在しない場合は作成することがあります。
はい、fetch コマンドはファイルやフォルダを上書きします。将来的に、Kameleoon はリモートバージョンとローカルバージョン間のさまざまな変更を管理するためのマージ機能を提供する予定です。
いいえ、インポートコマンド は、実行後に新しい engine.js スクリプトを生成しません。
はい、作成コマンド は、実行後に新しい engine.js スクリプトを生成します。
はい、デプロイコマンド は、実行後に新しい engine.js スクリプトを生成します。
現在の Kameleoon 拡張機能がインストールされている場合は、アンインストールします。変更を適用するために Visual Studio Code ウィンドウを再読み込みしたことを確認してください。https://marketplace.visualstudio.com/items?itemName=Kameleoon.kameleoon に移動します。Version history をクリックします。
Version history
インストールしたいバージョンをダウンロードします。VSIX ファイルが入手できるはずです。VS Code に VSIX ファイルをインポートします。
  1. 拡張機能タブに移動します。
  2. 「Extensions」パネルの右上隅にある3点をクリックします。
  3. 「Install from VSIX…」をクリックします。
V3 から V4 に移行するには、Kameleoon は変更を本番環境にプッシュし (オプション)、すべてのファイルとフォルダを削除して、新しい環境を開始することを推奨します。新しい環境を設定する手順については、使い始める セクションで説明されています。
次の手順に従って、VS Code の Kameleoon の minimize または「minify」オプションを無効にすることができます。
  1. VS Code の Extensions タブを開きます。
Extension
  1. インストール済み拡張機能のリストから Kameleoon を選択し、Settings をクリックします。
Extension
  1. Enable JS minification for deploying and synchronization とラベル付けされたオプションを選択します。
Extension