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, migrasi 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+ sudah kompatibel dengan API-, maka aplikasi code Anda tetap 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 resmi Capacitor berjalan 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();

Bagaimana Cara Sinkronisasi Berfungsi

Bagaimana Sinkronisasi Berfungsi
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 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, iOS build, Android build)
  4. Ulasan Keamanan: Analisis berbasis AI memeriksa keamanan dan perubahan yang mengganggu
  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:

PeriksaApa yang Dapat Ditemukan
KeamananInjeksi perintah, XSS, traversal jalur, rahasia yang ditetapkan secara keras
Perubahan PatahAPI yang dihapus/bernama berubah, tanda tangan yang berubah, perubahan konfigurasi
StabilitasReferensi null, kecemasan tidak terhandle, kondisi balap, kebocoran memori
Keamanan DataSkenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman
Code IntegritasIntegritas code yang disembunyikan, panggilan jaringan mencurigakan, pintu belakang

PR Anda terjebak di repositori resmi Capacitor? Ambilnya untuk di-merge di Capacitor+:

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

  2. Atau submit 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.

Apakah ini sudah siap produksi?

Apakah ini sudah siap digunakan?

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

Apakah plugin saya resmi masih berfungsi?

Apakah plugin saya resmi masih berfungsi?

Ya. Semua plugin berfungsi dengan __CAPGO_KEEP_0__+ tanpa perlu konfigurasi tambahan. @capacitor/* plugins work with Capacitor+ out of the box.

Bagaimana saya melaporkan masalah?

Bagaimana saya melaporkan masalah?

Laporkan masalah di

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

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

Jika Anda menggunakan Getting Started untuk merencanakan pekerjaan plugin native, hubungkannya dengan Menggunakan Capacitor+ (@capacitor-plus) Paket untuk kemampuan native di Menggunakan Capacitor+ (@capacitor-plus) Paket, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, dan Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic