Lompat ke konten

Mulai

  1. Pasang paket inti

    Jendela terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. Tambahkan paket platform

    Jendela terminal
    npm install @capacitor-plus/android # for Android
    npm install @capacitor-plus/ios # for iOS
  3. Inisialisasi Capacitor

    Jendela Terminal
    npx cap init
  4. Tambahkan platform

    Jendela Terminal
    npx cap add android
    Jendela Terminal
    npx cap add ios

Jika Anda memiliki proyek Capacitor yang sudah ada, mengimpor ke Capacitor+ sangatlah mudah:

  1. Hapus paket resmi

    Jendela terminal
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Pasang paket Capacitor+

    Jendela terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # if using Android
    npm install @capacitor-plus/ios # if using iOS
  3. Sinkronkan proyek Anda

    Jendela Terminal
    npx cap sync

Karena Capacitor+ kompatibel dengan API-, code Anda yang ada masih berfungsi tanpa perubahan:

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// Check platform
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// Check if native
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// Register a custom plugin
const MyPlugin = registerPlugin('MyPlugin');

Semua plugin Capacitor resmi berfungsi dengan lancar:

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

Capgo plugin berfungsi sempurna dengan Capacitor+:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updates
await CapacitorUpdater.notifyAppReady();
// Screen orientation
await ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlight
await CapacitorFlash.toggle();
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ionic-team/ β”‚ β”‚ CI/CD β”‚ β”‚ Claude Code β”‚ β”‚ npm publish β”‚
β”‚ capacitor │────▢│ Pipeline │────▢│ Security Review │────▢│ @capacitor-plusβ”‚
β”‚ (upstream) β”‚ β”‚ (daily sync) β”‚ β”‚ (AI analysis) β”‚ β”‚ packages β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Sinkronisasi Harian: GitHub Aksi mengambil perubahan terbaru dari ionic-team/capacitor
  2. Pembuatan PR: Perubahan disampaikan sebagai permintaan pull ke plus Cabang
  3. Validasi CI: Seluruh tes penuh berjalan (lint, unit tests, build iOS, build Android)
  4. Uji Keamanan: Analisis berbasis AI memeriksa keamanan dan perubahan yang dapat memecahkan
  5. Auto-Merge: Hanya jika CI berhasil dan tinjauan keamanan disetujui
  6. Auto-Publish: Versi baru dipublikasikan ke npm di @capacitor-plus/*

Setiap sinkronisasi upstream dianalisis untuk:

CheckApa yang Dapat Ditemukan
KeamananInjeksi perintah, XSS, navigasi traversal, rahasia yang dihardcode
Perubahan PentingAPI yang dihapus/berubah, perubahan tanda tangan, perubahan konfigurasi
StabilitasReferensi null, kecuali tidak terhandle, kondisi balapan, kebocoran memori
Keamanan DataSkenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman
Code KeutuhanObfusasi code, panggilan jaringan mencurigakan, pintu belakang

PR Anda terjebak di repositori resmi Capacitor? Ambilnya di Capacitor+:

  1. Buka isu di Capacitor+ repo menghubungkan ke PR upstream Anda

  2. Atau kirim secara langsung sebagai PR ke plus cabang

  3. Tim akan melakukan review, menjalankan CI, dan menggabungkan jika berhasil

Dengan cara ini Anda dan orang lain dapat menikmati hasil kerja Anda segera tanpa harus menunggu siklus rilis upstream.

Ya. Capacitor+ digunakan dalam aplikasi produksi. Setiap rilis melewati tes suite yang sama seperti Capacitor resmi, plus analisis keamanan tambahan.

Ya. Semua plugin berfungsi dengan __CAPGO_KEEP_0__+ secara otomatis. @capacitor/* plugins work with Capacitor+ out of the box.

Bagaimana saya melaporkan masalah?

Bagian berjudul β€œBagaimana saya melaporkan masalah?”

Bagaimana cara saya melaporkan masalah?

Laporkan masalah di Capacitor + GitHub repo. Untuk masalah yang juga mempengaruhi Capacitor resmi, kami akan membantu mengkoordinasikan upstream.

Apakah saya bisa berkontribusi?

Bagaimana cara saya berkontribusi?

Tentu saja! PRs selalu diterima. Anda bisa mengirimkan perbaikan langsung atau meminta PR upstream tertentu untuk diintegrasikan.