gleap-sdk-setup について
Gleap SDK Setupは、プロジェクト開発者によるGleap SDKの導入を案内するスキルです。プロジェクトファイルから対象プラットフォームを判定し、Webやモバイルのフレームワークに応じてインストール、初期化、設定、検証を支援します。
主な機能
- 01プロジェクトファイルからプラットフォームを判定
- 02SDKのインストールと初期化を案内
- 03プロジェクト設定からAPIキーを確認
- 04プラットフォーム別の設定を案内
- 05導入後のAPI利用方法を説明
活用シーン
- 01既存のWebプロジェクトへのGleap導入
- 02モバイルまたはクロスプラットフォームアプリへのGleap統合
- 03プラットフォーム固有のSDK設定のトラブルシューティング
MCP 対応
入力にはMCP接続やインターフェースについての説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gleapsdk/ agent-skills --skill gleap-sdk-setupインストール後、Claude Code で/gleap-sdk-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
platform-android.mdplatform-cordova.mdplatform-flutter.mdplatform-flutterflow.mdplatform-ionic-capacitor.mdplatform-ios.mdplatform-javascript.mdplatform-react-native.mdscripts/get-latest-versions.sh詳細
Gleap SDK のセットアップ
Gleap SDK をプロジェクトに統合する手順を案内します。JavaScript、iOS、Android、React Native、Flutter、Ionic/Capacitor、Cordova、FlutterFlow に対応しています。
プラットフォームの検出
作業を進める前に、ユーザーのプラットフォームを検出します。ユーザーがプラットフォームを明示している場合は、検出を省略します。
自動検出の優先順位
次の順に確認します(最初に一致したものを採用します)。
-
pubspec.yamlが存在するか?flutterflowの参照が含まれている、またはユーザーが FlutterFlow に言及している場合 -> FlutterFlow(platform-flutterflow.md)- それ以外の場合 -> Flutter(
platform-flutter.md)
-
package.jsonが存在するか? 内容を読み取り、dependenciesとdevDependenciesを確認します。react-nativeが存在する -> React Native(platform-react-native.md)@capacitor/coreまたはcapacitor-coreが存在する -> Ionic/Capacitor(platform-ionic-capacitor.md)cordovaが存在する、または<widget>を含むconfig.xmlが存在する -> Cordova(platform-cordova.md)@angular/coreが存在する -> JavaScript(Angular)reactが存在する(react-nativeは存在しない) -> JavaScript(React)vueが存在する -> JavaScript(Vue)nextが存在する -> JavaScript(Next.js)nuxtが存在する -> JavaScript(Nuxt)- その他、またはフレームワークがない -> JavaScript(一般的な npm)
- すべての JavaScript バリアントで
platform-javascript.mdを使用します
-
*.xcodeproj、*.xcworkspace、またはPodfileが存在するか? -> iOS(platform-ios.md) -
build.gradle、build.gradle.kts、またはapp/build.gradleが存在するか? -> Android(platform-android.md) -
index.htmlが存在する(package.jsonはない)か? -> JavaScript CDN 方式(platform-javascript.md) -
サーバーサイドの Web フレームワークが検出されたか? これらはすべて、クライアント側で JavaScript SDK を使用します(
platform-javascript.md)。composer.jsonが存在する(PHP / Laravel)— JS ビルドパイプラインの有無に応じて CDN または npm を使用しますrailsを含むGemfileが存在する(Ruby on Rails)— レイアウトでは CDN を使用します。Webpacker/esbuild/importmap が存在する場合は npm を使用しますdjangoまたはflaskを含むrequirements.txt/pyproject.tomlが存在する(Python)— ベーステンプレートで CDN を使用します*.cshtml/*.csprojファイルが存在する(.NET / ASP.NET)— レイアウトビューで CDN を使用します- Spring Boot(Java)を含む
pom.xml/build.gradleが存在する — Thymeleaf テンプレートで CDN を使用します - その他の Web フレームワーク(Go、Elixir/Phoenix など)— CDN 方式を使用します
- 注:プロジェクトにフロントエンドフレームワークを含む
package.jsonもある場合は、手順 2 で検出済みです。
-
何も検出されない場合 -> 対象のプラットフォームをユーザーに尋ねます。
検出コマンド
Glob を使用して、次の主要ファイルを検索します。
pubspec.yamlpackage.json**/*.xcodeproj**/*.xcworkspacePodfilebuild.gradlebuild.gradle.ktsapp/build.gradleconfig.xmlindex.htmlcomposer.jsonGemfilerequirements.txtpyproject.toml
package.json が見つかった場合は、Read を使用して dependencies と devDependencies のキーを確認します。
API キーの確認
ユーザーに API キーを尋ねる前に、次の場所を順番に確認します。
- ユーザーが会話中に指定している(例:「トークン abc123 で Gleap を追加して」)— そのまま使用します
- プロジェクトルートの
.envファイル —GLEAP_API_KEY=...を検索します - 環境変数 —
echo $GLEAP_API_KEYを実行して、GLEAP_API_KEYが設定されているか確認します - 見つからない場合 — API キーをユーザーに尋ねます(https://app.gleap.io の Project Settings > Security > API Key から取得できます)
キーが見つかった場合、またはユーザーから提供された場合は、今後も使用できるように、プロジェクトの .env ファイルに保存することを提案します(必要に応じてファイルを作成し、まだ .gitignore に追加されていない場合は .env を追加します)。
ワークフロー
以下の手順を順番に実行します。
- 最新の SDK バージョンを取得する:このスキルのディレクトリから
scripts/get-latest-versions.shを実行します。ハードコードされたバージョン番号の代わりに、取得したバージョンをすべてのインストールコマンドで使用します。 - プラットフォームを検出する:上記の優先順位ルールを使用します。
- API キーを解決する:上記の API キー解決手順を使用します。
- ユーザーに確認する:検出したプラットフォームを伝え、確認を求めます。ユーザーがすでにプラットフォームを指定している場合は、この手順を省略します。
- プラットフォームガイドを読む:このスキルのディレクトリにある、該当する
platform-{name}.mdファイルを読みます。 - SDK をインストールする:手順 1 で取得した最新バージョンを使用して、依存関係のインストールをユーザーに案内します。ユーザーの承認を得てからインストールコマンドを実行します。インストールが成功したことを確認します。
- SDK を初期化する:解決した API キーを使用して初期化コードを追加します。
- プラットフォームを設定する:プラットフォームガイドに記載された必要な権限、マニフェストのエントリ、その他の設定を適用します。
- 確認する:統合が機能することを確認するため、プロジェクトのビルドまたは実行を提案します。
セットアップ後の API に関するガイダンス
セットアップ後、ユーザーから Gleap API の使用方法について質問された場合は、該当するプラットフォームファイルの「Common API Usage」セクションを参照します。一般的なタスクは次のとおりです。
- ユーザーを識別する:セッションをユーザーデータ(名前、メールアドレス、プラン、カスタムデータ)に関連付けます。
- イベントをトラッキングする:アプリ内の重要なタイミングでカスタムイベントを記録します。
- カスタムデータ:フィードバックチケットにコンテキストデータを添付します。
- ウィジェットを制御する:Gleap ウィジェットをプログラムから開閉します。
メソッドのシグネチャはプラットフォームによって異なるため、正しいシグネチャを確認するには、プラットフォームファイルの API セクションを読み直してください。
重要な注意事項
initialize()はアプリケーションのライフサイクル内で必ず 1 回だけ呼び出してください。- クロスプラットフォームフレームワーク(React Native、Flutter、Ionic/Capacitor)では、iOS と Android の両方でプラットフォーム固有の設定(権限)が必要です。
- JavaScript CDN 方式はあらゆる Web コンテキストで動作し、npm は必要ありません。
- ID 検証では、プロジェクトのシークレットキーを使用して、ユーザーハッシュをサーバー側で生成する必要があります。
- カスタムデータでサポートされるのはプリミティブ値(文字列、数値、ブール値)のみで、キーの上限は 35 個です。
よくあるトラブルシューティング
pod installが失敗する:最初にpod repo updateを実行してから、もう一度試してください。- Gradle の同期が失敗する:
minSdkVersionが 21 以上であることを確認してください。 - Flutter のバージョン競合:AndroidManifest.xml に
tools:overrideLibrary="io.gleap.gleap_sdk"を追加してください。 - Web でウィジェットが表示されない:Content Security Policy ヘッダーで
sdk.gleap.ioが許可されていることを確認してください。 - ソフトリロードでウィジェットが消える(Rails/Turbo):リロード後に
Gleap.getInstance().softReInitialize()を呼び出してください。 - Android のハードウェアアクセラレーション:アプリケーションレベルで
android:hardwareAccelerated="false"を設定しないでください。