Panduan Memulai
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these packages:
- `@capacitor-plus/core`
- `@capacitor-plus/cli`
- `@capacitor-plus/android` if the project targets Android
- `@capacitor-plus/ios` if the project targets iOS
Complete the required Capacitor initialization, platform, sync, native setup, and configuration work.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/capacitor-plus/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Mulai cepat
Bagian berjudul βMulai cepatβbun add @capgo/capacitor-plusnpx cap syncKesalahan umum
Bagian berjudul βKesalahan umumβ- Ganti semua depedensi @capacitor/*.
- Regenerasi native project setelah migrasi.
- Baca release notes sebelum melakukan bump.
Instalasi Project Baru
Bagian berjudul βInstalasi Project BaruβAnda bisa menggunakan AI-Assisted Setup kami untuk menginstal Capacitor. Tambahkan skill Capgo ke tool AI Anda menggunakan command berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capacitor-plus/core`, `@capacitor-plus/cli`, `@capacitor-plus/android`, and `@capacitor-plus/ios` packages in my project.Jika Anda lebih memilih Manual Setup, instal package dengan menjalankan command berikut dan ikuti instruksi spesifik platform di bawah ini:
-
Instal core package
Jendela terminal npm install @capacitor-plus/core @capacitor-plus/cli -
Tambah paket platform
Jendela terminal npm install @capacitor-plus/android # for Androidnpm install @capacitor-plus/ios # for iOS -
Inisialisasi Capacitor
Jendela terminal npx cap initJendela terminal pnpm cap initJendela terminal yarn cap initJendela terminal bunx cap init -
Tambah platform
Jendela terminal npx cap add androidJendela terminal pnpm cap add androidJendela terminal yarn cap add androidJendela terminal bunx cap add androidJendela terminal npx cap add iosJendela terminal pnpm cap add iosJendela terminal yarn cap add iosJendela terminal bunx cap add ios
Migrasi dari Capacitor Resmi
Bagian berjudul βMigrasi dari Capacitor ResmiβJika Anda sudah memiliki proyek Capacitor, migrasi ke Capacitor+ sangatlah mudah:
-
Hapus paket resmi
Jendela terminal npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios -
Instal paket Capacitor+
Jendela terminal npm install @capacitor-plus/core @capacitor-plus/clinpm install @capacitor-plus/android # if using Androidnpm install @capacitor-plus/ios # if using iOS -
Sinkronkan proyek Anda
Jendela terminal npx cap syncJendela terminal pnpm cap syncJendela terminal yarn cap syncJendela terminal bunx cap sync
Penggunaan
Bagian berjudul βUsageβKarena Capacitor+ sudah API-compatible, code Anda yang sudah ada tetap berfungsi tanpa perubahan:
import { Capacitor } from '@capacitor/core';import { registerPlugin } from '@capacitor/core';
// Check platformconst platform = Capacitor.getPlatform();console.log('Running on:', platform);
// Check if nativeif (Capacitor.isNativePlatform()) { console.log('Running on native platform');}
// Register a custom pluginconst MyPlugin = registerPlugin('MyPlugin');Dengan Plugin Capacitor Resmi
Bagian berjudul βDengan Plugin Resmi CapacitorβSemua plugin resmi Capacitor bekerja dengan mulus:
import { Camera, CameraResultType } from '@capacitor/camera';import { Geolocation } from '@capacitor/geolocation';import { Storage } from '@capacitor/preferences';
// Cameraconst photo = await Camera.getPhoto({ quality: 90, resultType: CameraResultType.Uri});
// Geolocationconst position = await Geolocation.getCurrentPosition();
// Storageawait Storage.set({ key: 'name', value: 'John' });Dengan Plugin Capgo
Bagian berjudul βDengan Plugin CapgoβPlugin Capgo bekerja sempurna dengan Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updatesawait CapacitorUpdater.notifyAppReady();
// Screen orientationawait ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlightawait CapacitorFlash.toggle();Cara Kerja Sinkronisasi
Bagian berjudul βCara Kerja Sinkronisasiββββββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ionic-team/ β β CI/CD β β Claude Code β β npm publish ββ capacitor ββββββΆβ Pipeline ββββββΆβ Security Review ββββββΆβ @capacitor-plusββ (upstream) β β (daily sync) β β (AI analysis) β β packages ββββββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ- Daily Sync: GitHub Actions mengambil perubahan terbaru dari
ionic-team/capacitor - Pembuatan PR: Perubahan diajukan sebagai pull request ke
plusbranch - Validasi CI: Test suite lengkap dijalankan (lint, unit test, iOS build, Android build)
- Review Keamanan: Analisis berbasis AI memeriksa kerentanan dan breaking changes
- Auto-Merge: Hanya jika CI lulus DAN review keamanan disetujui
- Auto-Publish: Versi baru dipublikasikan ke npm di bawah
@capacitor-plus/*
Detail Review Keamanan
Bagian berjudul βDetail Review KeamananβSetiap sinkronisasi upstream dianalisis untuk:
| Periksa | Apa yang Terdeteksi |
|---|---|
| Keamanan | Injeksi perintah, XSS, path traversal, hardcoded secrets |
| Perubahan Penting | API yang dihapus/diubah namanya, perubahan signature, perubahan konfigurasi |
| Stabilitas | Null dereference, exception yang tidak tertangani, race condition, kebocoran memori |
| Keamanan Data | Skenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman |
| Integritas Code | code yang terobfuskasi, panggilan jaringan mencurigakan, backdoor |
Mengirimkan PR Anda
Bagian berjudul βMengirimkan PR AndaβPR Anda stuck di repo resmi Capacitor? Dapatkan merge di Capacitor+:
-
Buka issue di dalam repo Capacitor+ menautkan ke upstream PR Anda
-
Atau submit langsung sebagai PR ke
plusbranch -
Tim akan meninjau, menjalankan CI, dan merge jika lolos
Dengan cara ini, Anda dan orang lain bisa langsung mendapat manfaat dari hasil kerja Anda tanpa menunggu siklus rilis upstream.
Apakah ini sudah siap untuk production?
Bagian berjudul βApakah ini sudah siap untuk production?βYa. Capacitor+ digunakan di aplikasi production. Setiap rilis melewati test suite yang sama dengan Capacitor resmi, plus analisis keamanan tambahan.
Apakah plugin resmi saya tetap berfungsi?
Bagian berjudul βApakah plugin resmi saya tetap berfungsi?βYa. Semua @capacitor/* plugin berfungsi dengan Capacitor+ secara langsung.
Bagaimana jika upstream merilis breaking change?
Bagian berjudul βBagaimana jika upstream merilis breaking change?βAI security review menandai breaking change untuk ditinjau manual. Anda akan melihat perubahannya terdokumentasi sebelum di-merge.
Bagaimana cara melaporkan issue?
Bagian berjudul βBagaimana cara melaporkan issue?βLaporkan issue di repo Capacitor+ GitHub. Untuk issue yang juga berdampak pada Capacitor resmi, kami akan membantu berkoordinasi dengan upstream.
Bisakah saya berkontribusi?
Bagian berjudul βBisakah saya berkontribusi?βTentu saja! PR sangat kami terima. Anda bisa langsung mengirimkan perbaikan atau meminta agar PR upstream tertentu di-merge.
Lanjutkan dari Getting Started
Bagian berjudul βLanjutkan dari Getting StartedβJika Anda menggunakan Panduan Memulai untuk merencanakan pekerjaan plugin native, hubungkan dengan Menggunakan Package Capacitor+ (@capacitor-plus) untuk kapabilitas native dalam Menggunakan Paket Capacitor+ (@capacitor-plus), Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi pada Capacitor Plugins oleh Capgo Menambahkan atau Memperbarui Plugin untuk detail implementasi di Menambahkan atau Memperbarui Plugin, dan Alternatif Plugin Ionic Enterprise untuk alur kerja produk dalam Alternatif Plugin Ionic Enterprise.