Capacitor ウェブ技術とネイティブデバイス機能を接続するプラグイン クロスプラットフォームアプリ開発このガイドは、以下のことを助けるために作成されました。
- 環境の設定: 以下のようなツールが必要です。 Node.js, Xcode, Android Studio は必須です。
- Code の基準に従ってください: TypeScript, Swift, Kotlin 、一貫した命名規則とエラー処理を使用します。
- テストを徹底的に行う: JavaScript、iOS、Android用のユニットテストを実行して信頼性を確保します。
- 明確にドキュメント化する: JSDocとREADMEファイルを使用して容易に採用できます。
- プルリクエストを提出する: 高品質の code、テスト、ドキュメントを確保して貢献する前に。
オープンソースの完全ガイド - コントリビュートする方法
開発環境の設定
開発環境を適切に設定することは、効率的なプラグイン開発の鍵です。プラグインの開発、テスト、デプロイがスムーズになるように、十分な準備が必要です。
必要なツールとスキル
開発を始める前に、以下のツールがインストールされていることを確認してください。
| カテゴリ | 要件 |
|---|---|
| 基本ツール | Node.js (LTS), npm 6+, Git |
| IDE/エディター | Visual Studio Code またはあなたの好きなエディター |
| iOS開発 | Xcode, SwiftLint, CocoaPods |
| Android | Android Studio, Android SDK, JDK |
Web開発ではTypeScriptに慣れており、iOS用にSwift、またはAndroid用にJava/Kotlinに慣れていることが必要です。 [1][2].
Monorepoの設定
この Capacitor プラグイン コミュニティの標準に沿った作業を実現するために、monorepo構造が必要です。
-
リポジトリのフォークとクローン
まず、Capacitor プラグインのリポジトリをGitHubでフォークしてください。次に、フォークしたリポジトリをクローンしてください:git clone https://github.com/your-username/capacitor-plugins.git cd capacitor-plugins npm install -
依存関係をインストールしてビルド
必要なすべてのものをインストールしてプラグインをビルドするには、以下のコマンドを実行してください。npm run build -
バージョン管理を設定する
変更を管理するために機能ブランチを使用し、上流リポジトリとフォークを同期してください。
ネイティブプラットフォームの準備
クロスプラットフォーム開発を行うには、iOSとAndroidの両方の環境を設定する必要があります。
iOS:
-
Mac App StoreからXcodeをダウンロードしてください。
-
以下のコマンドを使用して、コマンドラインツールをインストールしてください。
xcode-select --install -
CocoaPodsをインストールするには:
sudo gem install cocoapods -
Apple Developerアカウントと必要な証明書を設定してください。
-
SwiftLint (任意)を使用して、codeの品質を維持してください。
Androidの場合:
- SDKと最新のAndroid Studio、仮想デバイスをインストールしてください。
- JDKがインストールされていることを確認してください。
- Android Studio内でSDKを適切に設定してください。
これらのプラットフォームが設定されたら、既存の開発慣行に従ってプラグイン開発に進む準備が整います。
Code スタンダード ガイド
開発環境が整ったら、プラグインを簡単にメンテナンスして使えるようにするためのガイドラインに従ってください。
スタイル ガイドの準拠
The Capacitor プラグイン エコシステム 厳格なコーディング スタンダードを実施するために、ESLintなどのツールを使用しています。 ESLint, Prettier、SwiftLintを含む。ここでは、必要なフォーマットの概要を簡単に説明します。
| コンポーネント | フォーマット |
|---|---|
| 変数 | deviceInfo (キャメルケース) |
| クラス | BatteryManager (パスカルケース) |
| メソッド | getLanguageCode() (キャメルケース) |
| 定数 | MAX_RETRY_COUNT (スネークケース) |
プラグインは、より安全な型とES6+機能を使用するためにTypeScriptを使用する必要があります。 async/awaitさらに、Swift (iOS) と Kotlin (Android) のプラットフォーム固有のコーディング規約に従う必要があります。
エラーと型の管理
クロスプラットフォーム互換性のために一貫したエラーハンドリングは不可欠です。ここでは例を示します。
async checkPermissions(): Promise<PermissionStatus> {
try {
const result = await this.implementation.checkPermissions();
return result;
} catch (error) {
throw new Error(`Permission check failed: ${error.message}`);
}
}
型の安全性のために
- 特定の用途に合わせたフォーカスされたインターフェイスを使用すること。
- プラットフォーム固有のバリエーションに対してユニオン型を適用すること。
Code ドキュメント
良質なドキュメントは、プラグインが利用しやすく、容易に使用できるようにするために不可欠です。以下の慣行に従う必要があります。
- API ドキュメント: JSDoc コメントを使用して、__CAPGO_KEEP_0__ を使用できるようにする必要があります。
@capacitor/docgenJSDoc ドキュメントの例は次のとおりです。
/**
* @description Get the device's current battery level
* @returns Promise with the battery level percentage
*/
async getBatteryLevel(): Promise<{ level: number }>;
- README構造: インストール手順、設定方法、プラットフォームごとの要件、使用例、そして API の詳細なリファレンスを含めるようにしてください。
良質のドキュメントにより、プラグインは容易に採用され、より広範な Capacitor コミュニティに貢献します。
sbb-itb-f9944d2
プラグインテストガイド
Capacitor プラグインのテストには、smoothな機能性と信頼性を確保するために重点を置く必要があります。
ネイティブブリッジテスト
ネイティブブリッジテストにより、JavaScriptとネイティブ code の間の適切なコミュニケーションが保証されます。始めるには、各プラットフォームに特化したフレームワークを使用してテスト環境を設定してください。
ここに、 Jest JavaScript側の単体テストの例です:
// Example of a Jest unit test for the JavaScript bridge
describe('DeviceInfo Plugin', () => {
test('getBatteryLevel returns valid percentage', async () => {
const result = await DeviceInfo.getBatteryLevel();
expect(result.level).toBeGreaterThanOrEqual(0);
expect(result.level).toBeLessThanOrEqual(100);
});
});
ネイティブ側のテストの場合、iOSではXCTest、AndroidではJUnitを使用してください。Androidの例は以下のとおりです:
@Test
fun testBatteryLevel() {
val plugin = DeviceInfo()
val result = plugin.getBatteryLevel()
assertTrue(result.level in 0..100)
}
機能の基本的なブリッジ動作が予想どおりに動作することを確認したら、ユーザー ワークフロー全体のテストに進みます。
プラグインテストを完了します。
さまざまなシナリオでプラグインがうまく動作することを確認するには、以下のカテゴリをテストしてください:
| テスト カテゴリ | 主な焦点領域 |
|---|---|
| 統合テスト | クロスプラットフォーム機能 |
| パフォーマンステスト | リソース使用量とレスポンス時間 |
| セキュリティテスト | データ処理と権限チェック |
複雑な機能を持つプラグインの場合、実世界のユーザー シナリオをシミュレートしてください。たとえば、デバイス情報プラグインをテストする場合、以下を確認してください:
- 異なるネットワーク条件下での成功したアップロード
- 正確な進行状況の報告
- 大規模ファイル転送時のメモリ使用量
OTAテストに Capgo

Capgo Live Update Dashboard インターフェイス
- __CAPGO_KEEP_0__のオープンソースツールにより、迅速なアップデートのデプロイとテストが容易になります。以下にその方法を紹介します。 セットアップ アップデートチャンネルの設定
- 開発、ステージング、または生産環境のチャンネルを設定
- CI/CDツールを使用して自動化されたデプロイを実行します。
- パフォーマンスと問題の監視は Capgo ダッシュボード.
段階的なロールアウトの場合、Capgo は、更新を小さなユーザー数に制限することを許可します。たとえば、24 時間ごとに 25% のユーザーに新しいバージョンをロールアウトできます。
// Example configuration for staged rollout
{
"plugin": "camera-plugin",
"version": "1.2.0",
"rollout": {
"percentage": 25,
"interval": "24h"
}
}
この段階的なアプローチは、コミュニティからのフィードバックを利用して、フルリリース前に問題を早期に特定するのに役立ちます。
Pull Request プロセス
変更を徹底的にテストした後、次の手順に従ってプルリクエストを提出してください。
PR 提出チェックリスト
提出する前に、次の重要な点を確認してください。
| カテゴリ | 確認すること |
|---|---|
| Code の品質 | - Swift/Kotlin の実装がウェブ API と一致していることを確認してください。 |
| テスト | 新機能の追加に伴うユニットテストを実施する。 CI/CD_PIPELINEのチェックが正常に実行されることを確認する。 |
| ドキュメント | README、インラインドキュメント、CHANGELOGを必要に応じて更新する。 |
コミュニティガイドライン
協力する際には、以下のベストプラクティスに従う。
- レビューフィードバックに迅速に対応する。
- 技術的な詳細に焦点を当てる。
- GitHubの提案機能を使用して、codeの変更を提案する。
- 小さく、特定の機能または問題に焦点を当てたプルリクエストを提出する。
大きな変更の場合、まずissueを作成し、自分のアプローチについて議論する。 Capacitorチームは、GitHub Actionsを使用して自動チェックを実行し、すべてのチェックが正常に実行されるまでプルリクエストをレビューすることはできない。
Capgo つきガイド
ライブアップデートを含むプラグインの場合、Capgo と互換性のある状態で提出することを確認してください:
-
バージョン管理
Use clear semantic versioning for your plugin, and document all changes in the changelog. Capgo’s system helps track version adoption across user devices. -
プラグインのバージョン管理に明確なセマンティック バージョニングを使用し、すべての変更を changelog に記載してください。__CAPGO_KEEP_0__ のシステムは、ユーザー デバイス間でバージョン アドプションを追跡するのに役立ちます。
Integrate Capgo into your CI/CD pipeline to automate update deployments. -
コンテキスト: Capgo Builder / ネイティブ クラウド ビルド プロダクト ページ。役割: 短い UI ラベルまたはナビゲーション アイテム。メッセージ キー `native_build_feature_ci_cd` (ネイティブ ビルド フィーチャー CI/CD)。
__CAPGO_KEEP_0__ を CI/CD パイプラインに統合して、自動化されたアップデート デプロイメントを実行してください。
アップデート監視
To make a meaningful contribution with your plugin, it’s important to follow the established process and meet community standards. This includes sticking to Capacitor’s coding guidelines and thoroughly testing your work.
The PR checklist highlights the need for high-quality submissions. If your plugin supports live updates, integrating with Capgo (as mentioned earlier) can help you release updates quickly without waiting for app store approvals.
プラグインの有意な貢献を実現するには、established プロセスに従い、コミュニティの標準に適合することが重要です。これには、__CAPGO_KEEP_0__ のコーディング ガイドラインに従い、徹底的なテストを実行することが含まれます。 Capacitor のアップデートに合わせて これにより、プラグインは有用で関連性のあるものになります。
ユーザーのフィードバックに耳を傾け、必要に応じてアップデートを行ってください。この継続的な取り組みにより、エコシステム全体の品質を維持し、開発者にとってプラグインが価値のあるものになります。
Capacitor プラグイン Contribution Guide から続けます。
__CAPGO_KEEP_0__ Contribution Guide を使用している場合 Capacitor Contribution Guide __CAPGO_KEEP_0__ Contribution Guide を使用してネイティブ プラグインの作業を計画し、__CAPGO_KEEP_0__ Contribution Directory に接続します。 Capgo Contribution Directory では、Capgo Contribution Directory での製品ワークフロー Capgo Contribution Directory では、Capgo Contribution Directory の __CAPGO_KEEP_1__ によって提供されるプラグイン Capacitor Contribution Directory では、Capacitor Contribution Directory の Capgo によって提供されるプラグインの実装詳細 for the implementation detail in Capacitor Plugins by Capgo, __CAPGO_KEEP_0__ Contribution Guide Capacitor プラグインの貢献ガイド Ionic Enterprise プラグインの代替 Capacitor プラグインの貢献ガイドの実装詳細については Capgo Native Builds Capgoネイティブビルド