Lompat ke konten

FAQ

Jika Anda memiliki pertanyaan yang tidak dijawab di sini, silakan bertanya! Baik itu melaporkan masalah atau bertanya di Discord kerja.

Code push, juga dikenal sebagai “update perangkat lunak di udara” (OTA) adalah layanan cloud yang memungkinkan pengembang Capacitor untuk mengirimkan update ke aplikasi mereka di produksi. Capgo saat ini berfungsi pada Android, iOS, dan Electron.

“Code Push” adalah referensi ke nama fitur deploy yang digunakan oleh komunitas React Native dari Microsoft dan Expotidak salah satu di antaranya yang tidak mendukung Capacitor.

Kami menggunakan istilah “rilis” untuk berarti mempersiapkan biner untuk toko aplikasi. Untuk kemudian menghasilkan bundle Capgo perlu mengetahui biner yang tepat yang dikirimkan ke toko aplikasi.

Kami menggunakan istilah “bundle” untuk berarti patch yang dapat diterapkan pada rilis untuk memperbarui ke code yang baru. npx @capgo/cli@latest bundle upload Perintah ini digunakan untuk menghasilkan bundle dari code lokal Anda yang baru kemudian dikirimkan ke pengguna Anda.

Board proyek kami juga terbuka dan dapat ditemukan di: https://github.com/orgs/Cap-go/projects

Tim kami juga beroperasi di publik, sehingga Anda dapat melihat apa yang kami kerjakan kapan saja. Kami senang menjawab pertanyaan Anda tentang roadmap atau prioritas kami melalui Github masalah atau Discord.

Apakah saya bisa menggunakan Capgo dengan tim saya?

Bagian berjudul “Apakah saya bisa menggunakan Capgo dengan tim saya?”

Ya! Semua rencana mendukung pengembang tak terbatas. Kami hanya membatasi metrik aplikasi (aktif bulanan, penyimpanan, dan bandwidth) untuk setiap organisasi.

Lihat Tim untuk informasi lebih lanjut.

Apakah Capgo menyimpan kode sumber code saya?

Bagian berjudul “Apakah Capgo menyimpan kode sumber code saya?”

No. Capgo server tidak pernah melihat kode sumber code. Ketika Anda menjalankan npx @capgo/cli@latest bundle upload, Capgo stores a zip file of the minified/compiled code - the same code that a browser would receive, not your source code.

Untuk keamanan tambahan, Anda memiliki dua pilihan:

  • Enkripsi Akhir ke Akhir: Enkripsi bundle sebelum mengunggahnya untuk melindunginya di penyimpanan dan transit serta mencegah pihak ketiga untuk membuat update yang terenkripsi secara valid tanpa kunci pribadi Anda. Ini tidak membuat aset web yang dikirimkan tidak dapat direversi karena kunci publik ada di aplikasi yang didistribusikan.
  • URL Eksternal Unggah: Simpan bundle di server Anda sendiri dan hanya berikan Capgo dengan link download dengan opsi --external <url>

Lihat juga kebijakan privasi kami: https://capgo.app/privasi

Apakah saya bisa menggunakan Capgo dari sistem CI saya?

Bab berjudul “Apakah saya bisa menggunakan Capgo dari sistem CI saya?”

Ya. Capgo dimaksudkan untuk digunakan dari sistem CI. Kami telah menerbitkan panduan untuk Android dan Github Actions dan iOS, dan untuk GitLab. Sistem CI lainnya seharusnya mirip.

Silakan tidak ragu untuk menghubungi kami melalui GitHub masalah atau Discord jika Anda mengalami masalah.

Bagaimana ini terkait dengan Firebase Remote Config atau Launch Darkly?

Judul bagian “Bagaimana ini terkait dengan Firebase Remote Config atau Launch Darkly?”

Code push memungkinkan menambahkan code baru / mengganti code di perangkat. Firebase Remote Config dan Launch Darkly adalah sistem konfigurasi. Mereka memungkinkan Anda untuk mengubah konfigurasi aplikasi Anda tanpa harus mengirimkan versi baru. Mereka tidak dimaksudkan untuk menggantikan code.

Berapa besar jejak ketergantungan yang ditambahkan?

Bagian berjudul “Berapa besar jejak ketergantungan yang ditambahkan?”

Saya belum mengukur secara teratur, tapi saya mengharapkan library code untuk menambahkan kurang dari satu megabyte ke Capacitor aplikasi. Kami tahu cara membuat ini lebih kecil ketika itu menjadi prioritas. Jika ukuran menjadi penghalang bagi Anda, silakan beritahu kami!

Apakah Capgo berfungsi pada Simulator iOS 18.4?

Bagian berjudul “Apakah Capgo berfungsi pada Simulator iOS 18.4?”

Tidak. Karena masalah upstream yang mempengaruhi Simulator iOS 18.4, Capgo tidak berjalan dengan stabil di sana. Silakan tes pada perangkat nyata atau gunakan versi Simulator iOS yang berbeda.

Lihat detail di masalah React Native: facebook/react-native#50510

Apakah code push berfungsi dengan aplikasi besar?

Bagian berjudul “Apakah code push berfungsi dengan aplikasi besar?”

Ya. Tidak ada batasan ukuran aplikasi yang dapat diperbarui dengan code push. Seperti yang telah disebutkan di bawah ini, Capgo dapat mengubah code JS di aplikasi Anda secara apa pun ukurannya.

Perlu diingat: Ukuran yang lebih besar akan membuat pengguna sulit mengunduh pembaruan. Kami merekomendasikan menjaga aplikasi Anda sekecil mungkin.

Apa yang dapat saya gunakan Capgo code push untuk?

Bagian berjudul “Apa yang dapat saya gunakan Capgo code push untuk?”

Kami telah melihat berbagai penggunaan, termasuk:

  • Perbaikan darurat pada aplikasi produksi.
  • Mengirimkan perbaikan bug ke pengguna pada versi aplikasi yang lebih tua.
  • Mengirimkan secara terus-menerus (misalnya, setiap jam).

Perlu diingat bahwa sebagian besar toko aplikasi melarang mengirimkan code yang mengubah perilaku aplikasi dalam cara yang signifikan. Silakan lihat di bawah untuk informasi lebih lanjut.

Apa yang dihitung sebagai “MAU” untuk Capgo?

Bagian berjudul “Apa yang dihitung sebagai “MAU” untuk Capgo?”

MAU adalah “Pengguna Aktif Bulanan”. Dalam konteks Capgo , ini sebenarnya merujuk pada Pengguna Aktif Bulanan Perangkat. Kami menghitung MAU sebagai perangkat yang telah menghubungi server kami dalam 30 hari terakhir. Kami tidak menghitung perangkat yang belum menghubungi server kami dalam 30 hari terakhir.

Penting: Mulai dari versi plugin v5.10.0, v6.25.0 dan v7.25.0Perangkat ID sekarang bertahan di antara penginstalan aplikasi ulang. Sebelum versi-versi ini, setiap penginstalan aplikasi ulang akan menghasilkan Perangkat ID baru dan dihitung sebagai pengguna aktif baru.

Dengan versi-versi saat ini:

  • Perangkat ID bertahan di antara penginstalan aplikasi ulang (disimpan dengan aman di Keychain pada iOS dan EncryptedSharedPreferences pada Android)
  • Penginstalan aplikasi tidak akan menghasilkan Perangkat ID baru
  • Selama pengembangan, jika Anda menggunakan versi plugin yang lebih lama (&#x3C; v5.10.0 / v6.25.0 / v7.25.0), setiap penginstalan masih akan menghasilkan pengguna aktif baru

Catatan: Pengunduhan TestFlight dan switch channel pada Android mungkin masih menghasilkan pendaftaran perangkat baru tergantung pada konfigurasi Anda.

Kami merekomendasikan setelah pengaturan pertama, untuk menonaktifkan perangkat pengembang dan emulator untuk mengurangi jumlah perangkat yang duplikat.

Apa yang tidak bisa kita gunakan Capgo code push untuk?

Bab yang berjudul “Apa yang tidak bisa kita gunakan Capgo code push untuk?”

Seperti di atas, Capgo tidak boleh digunakan untuk melanggar kebijakan toko aplikasi. Silakan lihat di bawah untuk informasi lebih lanjut.

Juga Capgo tidak mendukung perubahan native code (misalnya Java/Kotlin pada Android atau Objective-C/Swift pada iOS). Alat akan memberi peringatan kepada Anda selama update yang dicoba jika Anda telah mengubah native code.

Apakah saya dapat memperbarui perubahan capacitor.config.ts melalui Capgo?

Bab yang berjudul “Apakah saya dapat memperbarui perubahan capacitor.config.ts melalui Capgo?”

Tidak. Perubahan pada capacitor.config.ts tidak dapat dikirim melalui Capgo live updates. Konfigurasi Capacitor dibaca pada waktu pembangunan native dan dikompilasi ke dalam aplikasi native biner. Hal ini berarti bahwa perubahan pada capacitor.config.ts (seperti pengaturan plugin, ID aplikasi, pengaturan server, atau opsi plugin native) memerlukan rilis native baru melalui App Store atau Google Play.

Capgo hanya dapat memperbarui aset web (HTML, CSS, JavaScript) yang dimuat pada waktu runtime. Jika Anda memerlukan mengubah konfigurasi Capacitor, Anda harus:

  1. Update capacitor.config.ts secara lokal
  2. Rebuild aplikasi native Anda (npx cap sync diikuti oleh pembangunan native)
  3. Kirimkan file biner baru ke toko aplikasi

Apakah Capgo mengirimkan ke toko aplikasi untuk saya?

Bagian berjudul “Apakah Capgo mengirimkan ke toko aplikasi untuk saya?”

Capgo tidak mendukung saat ini mengirimkan ke toko aplikasi atas nama Anda. Kami memiliki rencana untuk menambahkan fitur ini di masa depan, tetapi untuk saat ini Anda akan perlu terus menggunakan proses yang ada untuk mengirimkan ke toko aplikasi.

Anda dapat menggunakan Petunjuk CI untuk Android untuk mengautomatisasi proses ini dan Petunjuk CI untuk iOS.

Apa yang disimpan oleh Capgo di disk dan di mana?

Judul bagian “Apa yang disimpan oleh Capgo di disk dan di mana?”

Pembaruan Capgo (termasuk dalam aplikasi Anda ketika Anda membangun aplikasi) menyimpan bundle terbaru yang diunduh di direktori satu-satunya yang capacitor memungkinkan untuk memuat code. Pada perangkat Android, ini terletak di /data/user/0/com.example.app/code_cache/capgo_updater meskipun basis dari jalur tersebut disediakan oleh sistem Android dan dapat berubah secara dinamis pada waktu runtime. Pada perangkat iOS, data disimpan di Library/Application Support/capgo.

Pembaruan Capgo melalui command line (misalnya npx @capgo/cli@latest bundle upload) terinstal di disk di npm caches, login Anda disimpan di direktori rumah Anda di ~/.capgo.

Bagaimana ini terkait dengan Capacitor Hot Reload?

Judul bagian “Bagaimana ini terkait dengan Capacitor Hot Reload?”

Hot reload Capacitor adalah fitur waktu pengembangan. Code push adalah untuk produksi.

Hot reload adalah fitur Capacitor yang memungkinkan Anda untuk mengubah code pada perangkat selama pengembangan. Ini memerlukan pembangunan aplikasi Capacitor dengan proxy untuk terhubung ke mesin lokal Anda.

Code push adalah fitur yang memungkinkan Anda untuk mengubah code pada perangkat di produksi. Kami akan menggunakan berbagai teknik untuk membuat hal ini mungkin tergantung pada platform.

Apa jenis perubahan yang dapat dilakukan oleh Capgo code push?

Bagian berjudul “Apa jenis perubahan yang dapat dilakukan oleh Capgo code push?”

Capgo dapat mengubah semua JS code di aplikasi Anda. Ini termasuk code aplikasi dan code yang dihasilkan. Anda juga dapat memperbarui dependensi di package.json sepanjang mereka tidak memerlukan perubahan native code.

Kami tidak memiliki rencana untuk mendukung perubahan native code (misalnya Java/Kotlin pada Android atau Objective-C/Swift pada iOS), dan alat akan memberi peringatan jika mendeteksi bahwa Anda telah mengubah native code karena tidak akan termasuk dalam bundle.

Code push tidak diperlukan untuk web karena web sudah berjalan dengan cara ini. Ketika pengguna membuka aplikasi web, ia akan mengunduh versi terbaru dari server jika diperlukan.

Jika Anda memiliki kasus penggunaan code push dengan web, kami ingin tahu!

Apakah ini akan berfungsi pada iOS, Android, Mac, Windows, Linux, dll?

Bagian berjudul “Apakah ini akan berjalan pada iOS, Android, Mac, Windows, Linux, dll?”

Ya.

Saat ini kami telah fokus pada dukungan Android, iOS, dan Electron, dan code sudah siap untuk produksi pada ketiga platform.

Capgo mendukung versi Android yang sama dengan Capacitor mendukung.

Capacitor saat ini mendukung Android API level 22+ dan iOS 13.0+: https://capacitorjs.com/docs/main/reference/support-policy

Versi apa saja dari Capacitor yang didukung oleh Capgo?

Bagian berjudul “Apa versi Capacitor yang didukung oleh Capgo?”

Capgo saat ini hanya mendukung rilis stabil terbaru dari Capacitor. Kami juga bisa mendukung versi lama dari Capacitor, kami hanya belum membangun infrastruktur yang diperlukan untuk menjaga versi tersebut dalam waktu lama. Kami berencana untuk mendukung lebih banyak versi dari Capacitor di masa depan, termasuk versi untuk pelanggan bisnis kami. https://github.com/Cap-go/capgo/issues/1100

Capgo mengikuti rilis stabil dari Capacitor dan secara umum memperbarui dalam beberapa jam setelah rilis stabil. Sistem kami untuk melakukan pembaruan ini adalah otomatis dan membutuhkan beberapa menit untuk dijalankan. Kami kemudian melakukan langkah verifikasi manual tambahan sebelum mempublikasikan ke server kami.

Apa hubungannya dengan proses atau kebijakan ulasan App/Play Store?

Bagian berjudul “Apa hubungannya dengan proses atau kebijakan ulasan App/Play Store?”

Pengembang terikat dengan perjanjian mereka dengan penyedia toko ketika mereka memilih untuk menggunakan toko tersebut. Code push dirancang untuk memungkinkan pengembang untuk memperbarui aplikasi mereka dan masih mematuhi kebijakan toko pada saluran pengiriman iOS, Android, dan Electron. Seperti berbagai produk komersial yang tersedia untuk melakukan hal yang sama dengan React Native (misalnya Microsoft, Microsoft juga menerbitkan panduan tentang bagaimana solusi mereka memenuhi kebijakan toko: ).

https://__CAPGO_KEEP_0__.com/microsoft/react-native-__CAPGO_KEEP_1__-push#store-guideline-compliance https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Code push adalah teknik yang luas digunakan di toko aplikasi. Semua aplikasi besar yang saya ketahui menggunakan code push. Kebijakan utama yang perlu diingat adalah tidak mengubah perilaku aplikasi dalam cara yang signifikan. Silakan lihat di bawah untuk informasi lebih lanjut.

Apakah Capgo sesuai dengan pedoman Play Store?

Judul bagian “Apakah Capgo sesuai dengan pedoman Play Store?”

Ya.

Play Store menawarkan dua pembatasan terkait dengan alat pembaruan.

  1. Pembaruan harus menggunakan interpreter atau mesin virtual (Capgo menggunakan JavaScript di WebView). https://support.google.com/googleplay/android-developer/answer/9888379?hl=en
An app distributed via Google Play may not modify, replace, or update itself
using any method other than Google Play's update mechanism. Likewise, an app
may not download executable code (such as dex, JAR, .so files) from a
source other than Google Play. *This restriction does not apply to code
that runs in a virtual machine or an interpreter* where either provides
indirect access to Android APIs (such as JavaScript in a webview or
browser).
Apps or third-party code, like SDKs, with interpreted languages (JavaScript,
Python, Lua, etc.) loaded at run time (for example, not packaged with the
app) must not allow potential violations of Google Play policies.
  1. Perubahan aplikasi tidak boleh menipu (misalnya, mengubah tujuan aplikasi melalui pembaruan). https://support.google.com/googleplay/android-developer/answer/9888077 Mohon jelaslah dengan pengguna Anda tentang apa yang Anda berikan dengan aplikasi Anda dan jangan melanggar harapan mereka dengan perubahan perilaku signifikan melalui penggunaan Capgo.

Capgo dirancang untuk kompatibel dengan pedoman Play Store. Namun Capgo adalah alat, dan seperti dengan alat apa pun, dapat disalahgunakan. Sengaja disalahgunakan Capgo untuk melanggar pedoman Play Store adalah pelanggaran terhadap Capgo Syarat dan Ketentuan dan dapat menyebabkan pembatalan akun Anda.

Akhirnya, layanan push code digunakan secara luas di industri (semua aplikasi besar yang saya ketahui menggunakan mereka) dan ada beberapa layanan push code lainnya yang tersedia secara publik (misalnya expo.dev &#x26; appcenter.ms). Ini adalah jalur yang sudah sering dilalui.

Microsoft juga menerbitkan panduan tentang cara library kodepush mereka yang berbasis React Native memenuhi pedoman aplikasi toko: https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Ya.

Seperti toko aplikasi, toko aplikasi menawarkan keterbatasan teknis dan kebijakan.

3.2.2
... interpreted code may be downloaded to an Application but only so long as
such code:
(a) does not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or applications, and
(c) does not bypass signing, sandbox, or other security features of the OS.

Capgo menggunakan JavaScript di dalam WebView untuk memenuhi keterbatasan interpreter-only untuk pembaruan di iOS. Sejauh mana aplikasi Anda tidak melakukan perilaku penipuan melalui pembaruan (misalnya, mengubah tujuan aplikasi melalui pembaruan), pembaruan melalui Capgo (atau solusi push lainnya code) adalah praktik industri standar dan kompatibel dengan pedoman toko aplikasi.

Sengaja menggunakkan Capgo untuk melanggar pedoman toko aplikasi adalah pelanggaran terhadap Capgo Syarat dan Ketentuan dan dapat menyebabkan pembubaran akun Anda.

Microsoft juga menerbitkan panduan tentang bagaimana library kodepush mereka yang berbasis React Native memenuhi pedoman toko aplikasi: https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Apakah saya bisa menggunakan Capgo di negara saya?

Bagian berjudul “Apakah saya bisa menggunakan Capgo di negara saya?”

Kami tidak mencoba membatasi akses ke Capgo dari negara mana pun.

Kami menyadari bahwa beberapa negara memiliki pembatasan pada apa saja URL yang dapat diakses dari dalam negara. Capgo saat ini menggunakan Cloudflare Cloud untuk hosting, termasuk R2 Storage dan Cloudflare workers.

URL-URL berikut digunakan oleh Capgo:

  • https://api.capgo.app — digunakan oleh npx @capgo/cli tool perintah baris untuk berinteraksi dengan server Capgo serta pembarui Capgo pada perangkat pengguna untuk memeriksa pembaruan.
  • https://*.r2.cloudflarestorage.com — digunakan oleh npx @capgo/cli tool perintah baris untuk mengunggah dan mengunduh bundle

Jika semua URL tersebut dapat diakses dari negara Anda, maka Capgo seharusnya berfungsi.

Jika wilayah Anda memerlukan pemblokiran akses ke salah satu URL tersebut, silakan beritahu kami dan kami dapat bekerja sama dengan Anda untuk menemukan solusi. Server proxy adalah salah satu opsi.

Bisa saya meng-host Capgo sendiri?

Apakah saya bisa meng-host sendiri Capgo?

Ya, Anda bisa meng-host sendiri Capgo. Panduan belum ditulis, tetapi code tersedia secara terbuka di https://github.com/cap-go/capgo

Apakah code memerlukan koneksi internet untuk berfungsi?

Bagian berjudul “Apakah code memerlukan koneksi internet untuk berfungsi?”

Ya. Salah satu kemungkinan adalah menjalankan server untuk mendistribusikan update terpisah dari internet umum, tetapi beberapa bentuk koneksi jaringan diperlukan untuk mengirimkan update ke perangkat.

Bagaimana Capgo terpengaruh oleh kekurangan koneksi jaringan?

Bagian berjudul “Bagaimana Capgo terpengaruh oleh kekurangan koneksi jaringan?”

Updater Capgo (termasuk dalam aplikasi Anda ketika Anda membangun aplikasi dengan Capgo) dirancang untuk tahan terhadap masalah koneksi jaringan.

Dalam perilaku update default, ketika aplikasi diluncurkan, updater Capgo memberitahu, yang kemudian memulai thread terpisah untuk membuat permintaan jaringan ke server Capgo dan meminta update. Kami sengaja menggunakan thread terpisah untuk menghindari mempengaruhi hal lain yang aplikasi mungkin sedang melakukan. Jika permintaan jaringan gagal atau waktu habis, updater akan mencoba memeriksa lagi ketika aplikasi diluncurkan kembali.

Capgo alat perintah garis perintah (misalnya, npx @capgo/cli@latest bundle uploadmemerlukan koneksi jaringan untuk berfungsi. Jika Anda menggunakan Capgo untuk mendistribusikan aplikasi Anda, Anda harus memastikan bahwa sistem CI Anda memiliki koneksi jaringan.

Apa yang terjadi jika pengguna tidak memperbarui selama waktu lama dan melewatkan pembaruan?

Bagian berjudul “Apa yang terjadi jika pengguna tidak memperbarui selama waktu lama dan melewatkan pembaruan?”

Implementasi kami selalu mengirimkan pembaruan yang spesifik untuk perangkat yang meminta pembaruan, sehingga memperbarui permintaan selalu ke versi terbaru yang tersedia. Oleh karena itu, jika pengguna tidak memperbarui selama waktu lama, mereka akan “melewatkan” pembaruan intermediet.

Server pembaruan dapat diubah untuk mendukung respons dengan versi incremental berikutnya atau versi terbaru tergantung pada kebutuhan aplikasi Anda. Silakan beritahu kami jika perilaku pembaruan alternatif penting bagi Anda.

Capgo adalah plugin untuk Capacitor yang menambahkan code push. Capgo bukanlah pengganti untuk Capacitor. Anda dapat terus menggunakan alat perangkat lunak Capacitor yang sudah Anda kenal dan cintai.

Kami mengikuti rilis stabil terbaru dari Capacitor dan memperbarui plugin push code kami untuk berfungsi dengan itu.

Dengan default, pembarui Capgo memeriksa update pada saat aplikasi dijalankan. Pembarui ini berjalan di thread latar belakang dan tidak mengganggu thread UI. Apabila ada update, maka update tersebut akan diinstal saat pengguna menggunakan aplikasi dan akan diterapkan pada saat aplikasi di-restart.

Pembarui Capgo juga dapat dijalankan secara manual menggunakan @capgo/capacitor-updater paket, melalui mana pembarui dapat diaktifkan kapan saja, termasuk melalui notifikasi push.

Pembarui Capgo dirancang sedemikian rupa sehingga ketika jaringan tidak tersedia, atau server tidak dapat diakses, maka aplikasi akan terus berjalan seperti biasa. Apabila Anda pernah memilih untuk menghapus update dari server kami, maka semua klien Anda akan terus berjalan seperti biasa.

Kami telah menambahkan kemampuan untuk mengembalikan patch. Cara termudah adalah dengan menambahkan bundle sebelumnya ke saluran Anda untuk mengembalikan.

Apakah saya perlu menjaga rahasia app_id saya?

Bab berjudul “Apakah saya perlu menjaga rahasia app_id saya?”

Tidak. app_id termasuk dalam aplikasi Anda dan aman untuk dibagikan secara publik. Anda dapat memeriksaannya ke kontrol versi (bahkan secara publik) dan tidak perlu khawatir seseorang lain mengaksesnya.

Orang yang memiliki akses ke aplikasi Anda app_id dapat mengunduh versi terbaru aplikasi Anda dari server Capgo, tetapi mereka tidak dapat mengirimkan update ke aplikasi Anda atau mengakses aspek lain dari akun Capgo Anda.

Apa informasi yang dikirimkan ke server Capgo?

Bagian berjudul “Apa informasi yang dikirimkan ke server Capgo?”

Meskipun Capgo terhubung ke jaringan, tidak ada informasi yang dapat diidentifikasi secara pribadi yang dikirimkan. Termasuk Capgo tidak akan mempengaruhi deklarasi Anda untuk Play Store atau App Store.

Permintaan yang dikirimkan dari aplikasi ke server Capgo termasuk:

  • app_id (ditentukan capacitor.config.json)
  • channel (opsional dalam capacitor.config.json)
  • release_version (versiName dari AndroidManifest.xml atau CFBundleShortVersionString dari Info.plist atau capacitor.config.json jika ditetapkan CapacitorUpdater.version )
  • Nomor Versi (dibuat sebagai bagian dari npx @capgo/cli@latest bundle upload)
  • Versi Sistem Operasi (misalnya ‘11.2.1’)
  • Platform (misalnya ‘android’, dibutuhkan untuk mengirimkan patch yang tepat) Itu saja. code untuk hal ini ada di updater/library/src/network.rs
  • ID Perangkat (dibuat pada perangkat pada pertama kali dijalankan, digunakan untuk mengurangi duplikat perangkat dan memungkinkan kita untuk mengenakan biaya berdasarkan pengguna yang terinstal (misalnya pengguna aktif bulanan), bukan total patch atau total instalasi patch)
  • ID Kustom (opsional, ditetapkan pada waktu runtime oleh pengembang, digunakan untuk menghubungkan perangkat ke pengguna di sistem Anda)

Saat ini, Capgo mendukung Android, iOS, dan Electron. Semua sudah siap digunakan.

Penggunaan Capgo untuk iOS, Android, atau Electron dapat diambil keputusan secara independen. Anda dapat menentukan strategi saluran untuk Android dan IPA yang dibangun untuk App Store, atau saluran Electron, sesuai kebutuhan.

Capgo dapat (relatif mudah) dibuat untuk mendukung target desktop atau embedded. Jika itu penting bagi Anda, silakan beritahu kami.

Bagaimana Capgo berinteraksi dengan Jalur Uji Play atau Apple TestFlight?

Bagian berjudul “Bagaimana Capgo berinteraksi dengan Track Uji Mainan Play atau Apple TestFlight?”

Masing-masing toko aplikasi memiliki mekanisme yang terpisah untuk mendistribusikan aplikasi ke kelompok pengguna yang terbatas (misalnya “pengujian internal”, “beta tertutup”, dll.). Mekanisme-mekanisme ini semua adalah untuk membagi pengguna Anda ke dalam kelompok-kelompok dan mendistribusikan versi aplikasi tertentu ke setiap kelompok.

Sayangnya, tidak semua mekanisme ini memungkinkan pihak ketiga untuk mendeteksi ketika aplikasi diinstal dalam track uji tertentu atau melalui TestFlight. Oleh karena itu, kami tidak memiliki visibilitas yang dapat diandalkan ke dalam komposisi kelompok-kelompok ini, dan tidak dapat secara dapat diandalkan mengatur akses ke patch Capgo berdasarkan kelompok-kelompok ini. https://stackoverflow.com/questions/53291007/can-an-android-application-identify-the-test-track-within-google-play https://stackoverflow.com/questions/26081543/how-to-tell-at-runtime-whether-an-ios-app-is-running-through-a-testflight-beta-i

Jika Anda ingin membagi ketersediaan bundle Capgo, ada 4 opsi potensial:

  1. Pakai saluran yang terpisah untuk setiap kelompok. Ini adalah pendekatan yang paling sederhana, tetapi memerlukan Anda untuk mengelola saluran-saluran yang banyak. Anda mungkin sudah memiliki saluran dev dan prod dengan ketersediaan yang berbeda. Anda dapat memperbarui saluran dev Anda, memastikan bahwa sudah benar, dan kemudian memperbarui saluran prod Anda secara terpisah. Kami merekomendasikan menggunakan cabang / tag dalam kontrol versi Anda untuk membantu Anda menjaga track sumber yang terkait dengan setiap rilis.
  2. Track pengguna sendiri yang telah memberikan izin, nonaktifkan pembaruan otomatis, dan aktifkan pembaruan hanya untuk pengguna tertentu melalui @capgo/capacitor-updater package. Ini berfungsi saat ini, tetapi memerlukan Anda untuk mengelola daftar pengguna yang telah memberikan izin sendiri.
  3. Capgo memungkinkan Anda membuat mekanisme opt-in sendiri pada dasar perangkat (mirip dengan Test Tracks atau TestFlight, tetapi tidak terikat pada platform). Ini memungkinkan tim QA Anda untuk memilih bundle sebelum mereka dipromosikan ke publik umum.
  4. Capgo memiliki peluncuran berbasis persentase. Ini tidak memungkinkan Anda memilih perangkat mana yang akan dikirimkan, tetapi dapat membantu Anda meluncurkan secara bertahap dan kembali ke versi sebelumnya jika ada masalah.

Bagaimana cara saya mengupgrade atau menurunkan plan saya?

Bagian berjudul “Bagaimana cara saya mengupgrade atau menurunkan plan saya?”

Anda dapat mengupgrade atau menurunkan plan Anda kapan saja di dashboard Anda: https://console.capgo.app/settings/organization/plans

Periode pembayaran akan direset secara otomatis setiap bulan pada bulan Anda pertama kali berlangganan ke Capgo. Misalnya, jika Anda berlangganan pada tanggal 15 bulan ini, periode pembayaran Anda akan direset pada tanggal 15 setiap bulan.

Bagaimana cara saya menghapus langganan saya?

Bagian berjudul “Bagaimana cara saya menghapus langganan saya?”

Anda dapat menghapus langganan Anda kapan saja di dashboard Anda: https://console.capgo.app/settings/organization/plans

Apakah saya bisa membayar untuk satu tahun maju?

Bagian berjudul “Apakah saya bisa membayar untuk satu tahun maju?”

Ya, Anda bisa mengaksesnya kapan saja di dashboard Anda: https://console.capgo.app/settings/organization/plans

Statistik di dashboard Anda diperbarui setiap pukul 00.00 UTC. Statistik dihitung berdasarkan jumlah MAU yang telah diinstal di perangkat Anda.

ID perangkat dihasilkan pada perangkat pada pertama kali dijalankan, dan digunakan untuk menghilangkan duplikasi perangkat per-instal dan memungkinkan kami untuk mengenakan biaya berdasarkan pengguna yang terinstal ke (misalnya pengguna aktif bulanan), bukan total patch atau total instalasi patch.

MAU adalah solusi yang lebih baik daripada jumlah instalasi untuk menentukan Capgo, karena lebih akurat dan mencerminkan biaya sebenarnya Capgo per perangkat.

Penyimpanan ID Perangkat (Diperbarui di v6.25.0 dan v7.25.0):

  • Sikap saat ini: ID perangkat sekarang bertahan di antara penginstalan aplikasi ulang. ID perangkat disimpan dengan aman di Keychain perangkat (iOS) atau EncryptedSharedPreferences (Android), memungkinkan kami untuk mengikuti perangkat yang sama bahkan setelah uninstall/reinstall.
  • Sikap sebelumnya (sebelum v6.25.0/v7.25.0): Untuk alasan privasi terkait dengan kebijakan toko Apple dan Google, ID perangkat direset pada setiap penginstalan aplikasi ulang, sehingga tidak memungkinkan kami untuk mengikuti perangkat yang sama di antara penginstalan ulang.

Aturan privasi ditegakkan oleh Apple dan Google, dan Capgo’s implementasi mematuhi praktik terbaik mereka untuk identifikasi perangkat.

ID perangkat tidak akan terdaftar di daftar perangkat Anda sampai mereka mendapatkan patch pertama yang diinstal.

Mengapa nomor perangkat saya berbeda dengan MAU saya?

Bagian berjudul “Mengapa nomor perangkat saya berbeda dengan MAU saya?”

Saat ini, daftar perangkat tidak diperbarui sekeras MAU.

Daftar perangkat hanya diperbarui ketika perangkat menginstal pembaruan.

Sementara MAU diperbarui pada setiap peluncuran aplikasi. Hal ini adalah batasan saat ini dari platform. Platform Analitik kami tidak mendukung pembaruan mentah sehingga kami menggunakan basis data konvensional untuk Daftar Perangkat.

Untuk membatasi jumlah kueri basis data, kami hanya memperbarui baris pada pembaruan aplikasi.

Batasan ini akan dihilangkan di masa depan.

Bagaimana memiliki pembaruan yang berbeda oleh platform?

Judul bagian “Bagaimana memiliki pembaruan yang berbeda oleh platform?”

Anda dapat membuat saluran untuk setiap platform. dan nonaktifkan pembaruan spesifik platform pada setiap saluran.

Pada saluran ios, nonaktifkan pembaruan android dan pada saluran android, nonaktifkan pembaruan ios.

Kemudian unggah bundle ke setiap saluran untuk memiliki pembaruan yang berbeda untuk setiap platform.

Jika Anda perlu memiliki pembaruan yang sama untuk kedua platform, Anda dapat menghubungkan satu bundle ke beberapa saluran. Tidak perlu menggandakan bundle.

Jika Anda menggunakan FAQ untuk merencanakan pengiriman pembaruan hidup secara langsung, hubungkannya dengan Capgo Pembaruan Hidup untuk alur kerja produk di Capgo Pembaruan Hidup, Ringkasan untuk detail implementasi di Ringkasan, Fitur untuk detail implementasi di Fitur Perilaku Pembaruan untuk detail implementasi di Update Behavior, dan Jenis Update untuk detail implementasi di Jenis Update.