始める前に
- Kameleoon プロジェクト。 すべての SDK で、Kameleoon アカウントに接続するためのサイトコードが必要です。まだ持っていない場合は、新しいプロジェクトを追加し、プロンプトが表示されたら SDK オプションを選択します。
- サーバーサイド SDK 用の API 認証情報。 サーバーサイド SDK は、クライアント ID とクライアントシークレットで認証します。これらはAPI認証情報で確認または生成できます。クライアントサイド SDK とモバイル SDK は、プロジェクトのサイトコードのみで認証します。
- テスト用のフィーチャーフラグ。 クライアントの初期化後に確認できるものを用意するため、アカウントでフィーチャーフラグを作成します。
SDK を選択する
プラットフォームを選択し、次に言語を選択します。各カードは、該当する SDK のインストール手順と初期化手順に直接リンクしています。ウェブ
JavaScript/TypeScript
あらゆるウェブアプリで使える、フレームワークに依存しないクライアントサイド SDK です。SDK Installer を使うか、ビルド手順なしで 1 つの
<script> タグでインストールします。React
フックとプロバイダーコンポーネントを備えた React 向けバインディングです。SDK Installer を使ってインストールします。
サーバーサイド
Node.js
Node.js 向けのサーバーサイド SDK です。Deno では手動で設定します。SDK Installer を使ってインストールします。
Java
Java EE または Jakarta EE のアプリケーションサーバーで動作します。Maven Central からインストールします。
C#
.NET のアプリケーションサーバーで動作します。NuGet、.NET CLI、または Paket を使ってインストールします。
PHP
PHP のバックエンドサーバーで動作し、cron ジョブのトラッキングも任意で利用できます。Composer を使ってインストールします。
Python
Django を含む Python のバックエンドサーバーで動作します。pip を使ってインストールします。
Ruby
Ruby のバックエンドサーバーと Rails アプリで動作します。RubyGems を使ってインストールします。
Go
Go のウェブアプリとサービスで動作します。
go get で Kameleoon の GitHub リポジトリから直接インストールします。Rust
Rust のサービスとウェブバックエンドで動作します。
tokio などの非同期ランタイムが必要です。Cargo を使ってインストールします。Elixir
Elixir のサービスとウェブバックエンドで動作します。Rust コアからビルドされるネイティブコードを含むため、Rust と Cargo が
PATH に含まれている必要があります。Mix を使ってインストールします。モバイル
Android
ネイティブ Android アプリ向けです。Gradle を使ってインストールします。
iOS
Swift 5.0 以降で構築されたネイティブ iOS アプリ向けです。CocoaPods または Swift Package Manager を使ってインストールします。
Flutter
Flutter フレームワークが対象とするすべてのプラットフォーム向けです。
pubspec.yaml に依存関係を宣言してインストールします。React Native
React SDK と同じ
@kameleoon/react-sdk パッケージを使い、React Native 固有の依存関係を組み込んでいます。SDK Installer を使ってインストールします。SDK が初期化されたことを確認する
Kameleoon のすべての SDK は非同期で初期化されます。クライアントは作成されるとすぐにバックグラウンドでフラグ設定の取得を開始し、その後まもなく準備完了になります。クライアントの準備が完了する前にフラグを評価すると、期待するバリエーションではなくデフォルトまたはリファレンスのバリエーションが返される場合があります。フラグの結果を利用する前に、準備完了であることを確認してください。 ウェブ SDK とサーバーサイド SDK には、それぞれ最初の取得が完了するまで待機するブロッキング呼び出しがあります。
Android、iOS、Flutter では、最初の取得が完了するまでクライアントの作成がブロックされることはありません。代わりに、各 SDK に記載されている準備状態の確認方法を使います。たとえば
isReady()(Android)、.ready(iOS)、isReadyAsync()(Flutter)です。または、フラグの評価を SDK の runWhenReady() コールバックで囲みます。
クライアントの準備が完了したら、先ほど作成したフィーチャーフラグを評価して、統合がエンドツーエンドで動作することを確認します。初期化からフラグの評価、トラッキングまでの全体のライフサイクルについては、SDK 実行フローを参照してください。
次のステップ
- SDK セットアップとフィーチャーフラグチュートリアル: Node.js SDK をリファレンス実装として、フィーチャーフラグを有効化する手順をより詳しく説明します。
- サポートされているプラットフォーム: 言語ごとの SDK バージョンと機能の互換性マトリックスです。
- プラットフォーム間で SDK を連携する: ウェブ、モバイル、サーバーサイドの各 SDK 間で同じビジターコードを渡し、どこでもビジターに一貫した体験を提供します。