Pendahuluan
Bab yang berjudul “Pendahuluan”@capgo/capacitor-widget-kit memberikan aplikasi Capacitor dua cara untuk mengemudikan widget dan Aktivitas Hidup:
- SVG template activities: definisikan permukaan WidgetKit sebagai SVG, switch frame yang dinamis dari sentuhan, jalankan timer pause/play, ubah JSON state, dan koleksi event aksi di aplikasi.
- Sesi widget penuh-native: simpan UI widget sepenuhnya di Swift/Kotlin/Java sementara Capacitor mengontrol state JSON bersama dan pesan aplikasi-ke-widget atau widget-ke-aplikasi.
Pakailah template SVG ketika widget dapat dirender dari string SVG yang terpecahkan. Pakailah sesi widget penuh-native ketika widget memerlukan UI native yang disesuaikan tetapi masih harus memulai, menghentikan, sinkronisasi state, atau meminta aplikasi untuk menyelesaikan pekerjaan asinkron.
Demo
Demo
Pilih Mode
Demo Pilih Mode| Mode | Terbaik untuk | API Utama |
|---|---|---|
| Aktivitas Template SVG | Aktivitas Langsung atau permukaan widget yang menampilkan hasil output SVG | startTemplateActivity, performTemplateAction, listTemplateEvents |
| Sesi Widget Penuh-Native | Widget yang dirender secara native yang memerlukan state bersama dan pekerjaan async | startWidgetSession, updateWidgetSession, sendWidgetMessage |
Kedua mode dapat hidup di aplikasi yang sama. Misalnya, aplikasi olahraga dapat menggunakan SVG Live Activity untuk kontrol frame/timer cepat dan widget penuh-native sesi untuk widget layar utama dengan tata letak native yang lebih kaya.
Kemampuan Template SVG
Template SVG termasuk bagian-bagian yang diperlukan untuk permukaan widget interaktif:bernama SVG varian seperti
frames, atausummary,timerswitch, toggle, atau melalui frame setelah aksi hotspot.details.frameMutationsmulai, pause, lanjutkan, toggle, reset, stop, atau ubah durasi timer.timerMutationsupdate status JSON menggunakan nilai literal, template, tanggal, peningkatan, toggle, atau operasi hapus.patchespeta area sentuh ke identifikasi aksi.hotspotsmengizinkan aplikasi memproses aksi asal widget kemudian.listTemplateEventsRuntime memecahkan tempat-tempat seperti
__CAPGO_KEEP_0__ {{state.title}}, {{timers.rest.remainingText}}dan {{meta.template.kind}} sebelum jembatan asli kembali mengembalikan permukaan untuk rendering.
Penggunaan Jembatan Asli Penuh
Bab berjudul “Penggunaan Jembatan Asli Penuh”Session penuh-asli adalah untuk widget yang mengrender UI mereka sendiri secara asli:
startWidgetSessionmembuat status dan metadata bersama untuk widget native code.updateWidgetSessionmenggabungkan atau menggantikan status dan menandai sesi aktif lagi.stopWidgetSessionmerekam status akhir dan menandai sesi berhenti.sendWidgetMessagemengantre pekerjaan aplikasi-ke-widget atau widget-ke-aplikasi.acknowledgeWidgetMessagesmenandai pesan sebagai diterima.completeWidgetMessagemenyimpan respons atau gagal untuk pekerjaan async.
Pesan-pesan adalah idempoten setelah selesai: mencoba ulang pesan yang selesai atau gagal kembali mengembalikan hasil yang ada bukan menggantinya.
Publik API
Bab yang berjudul “Publik API”| Metode | Deskripsi |
|---|---|
areActivitiesSupported | Periksa apakah jembatan kegiatan template native dapat dijalankan pada perangkat saat ini. |
startTemplateActivity | Simpan template SVG kegiatan dan mulai jembatan kegiatan Live Activity native. |
updateTemplateActivity | Ganti definisi kegiatan, status, atau buka URL. |
endTemplateActivity | Akhirkan kegiatan yang berjalan dan secara opsional simpan snapshot status terakhir. |
performTemplateAction | Eksekusi patch deklaratif, mutasi frame, mutasi timer, dan pencatatan log event. |
getTemplateActivity | Baca satu kegiatan template yang disimpan. |
listTemplateActivities | Daftar semua kegiatan template yang disimpan. |
listTemplateEvents | Baca event aksi yang dikeluarkan oleh aksi template. |
acknowledgeTemplateEvents | Merkkan event template sebagai diproses. |
startWidgetSession | Mulai sesi widget penuh-natip yang didukung oleh JSON bersama. |
updateWidgetSession | Menggabungkan atau menggantikan state sesi widget penuh-natip. |
stopWidgetSession | Berhenti sesi widget penuh-natip dan secara opsional menyimpan state akhir. |
getWidgetSession | Baca satu sesi widget penuh-natip. |
listWidgetSessions | Tampilkan setiap sesi widget penuh-natip. |
sendWidgetMessage | Antrian pesan antara aplikasi dan widget natip code. |
listWidgetMessages | Tampilkan pesan antrian jembatan. |
acknowledgeWidgetMessages | Merkkan pesan jembatan sebagai diakui. |
completeWidgetMessage | Mengakhiri atau gagal pesan jembatan async. |
getPluginVersion | Kembalikan tanda versi implementasi platform. |
Bagian-bagian Natip
Bagian berjudul “Native Pieces”Plugin ini juga mengirimkan bantuan asli untuk target widget:
CapgoTemplateWidgetBridgemengatasi permukaan template SVG kesvg,frameId,hotspots, dan metadata.CapgoTemplateActionIntentmenghubungkan tombol widget iOS interaktif ke aksi template.CapgoNativeWidgetBridgememuat sesi dan pesan penuh-asli dari widget native code.- Bantuan template Android menyediakan perilaku penerima aksi dan jembatan widget yang sesuai.
Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Referensi API disinkronkan dari src/definitions.ts di repositori plugin.
Teruskan dari @capgo/capacitor-widget-kit
Bagian berjudul “Teruskan dari @capgo/capacitor-widget-kit”Jika Anda menggunakan @capgo/capacitor-widget-kit untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Menggunakan @capgo/capacitor-widget-kit untuk kemampuan asli dalam Menggunakan @capgo/capacitor-widget-kit, Capgo CI/CD untuk alur kerja produk dalam Capgo CI/CD, Capgo Pembangunan Asli untuk alur kerja produk dalam Capgo Pembangunan Asli, Capgo Integrasi untuk alur kerja produk dalam Capgo Integrasi, dan Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD.