Lompat ke konten

FAQ

Jika Anda memiliki pertanyaan yang tidak terjawab di sini, silakan bertanya! Baik mengajukan masalah atau bertanya di Discord kerja.

Code push, juga disebut sebagai “update perangkat lunak secara jarak jauh” (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 Expo, tidak salah satu yang mendukung Capacitor.

Kami menggunakan istilah “rilis” untuk berarti mempersiapkan sebuah biner untuk toko aplikasi. Untuk kemudian menghasilkan sebuah 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. Patch ini. npx @capgo/cli@latest bundle upload Perintah ini digunakan untuk menghasilkan sebuah bundle dari code lokal Anda yang kemudian dikirimkan ke pengguna Anda.

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

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

Apakah saya dapat menggunakan Capgo dengan tim saya?

Apakah saya bisa menggunakan Capgo bersama tim saya?

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

Lihat Tim untuk informasi lebih lanjut.

Apakah Capgo menyimpan kode sumber saya code?

Bagaimana Capgo menyimpan kode sumber saya code?

Tidak. Server Capgo tidak pernah melihat kode sumber code. Ketika Anda menjalankan npx @capgo/cli@latest bundle upload, Capgo menyimpan sebuah file zip dari kode code yang telah di-minifikasi/di-compile - kode code yang sama seperti yang diterima oleh browser, bukan kode sumber code.

Untuk keamanan tambahan, Anda memiliki dua pilihan:

  • Enkripsi Akhir ke Akhir: Enkripsi bundle Anda sebelum mengunggahnya untuk melindunginya di penyimpanan dan transit serta mencegah pihak ketiga untuk membuat pembaruan enkripsi yang valid tanpa kunci pribadi Anda. Hal ini tidak membuat aset web yang dikirimkan menjadi tidak mungkin direversi karena kunci publik ada di aplikasi yang didistribusikan.
  • Upload URL Eksternal.: Simpan bundle di server Anda sendiri dan hanya berikan Capgo dengan tautan download dengan opsi --external <url>

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

Apakah saya bisa menggunakan Capgo dari sistem CI saya?

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

Ya. Capgo dirancang untuk digunakan dari sistem CI. Kami telah menerbitkan panduan untuk Android dan Github Aksi dan iOSdan untuk GitLab. Sistem CI lainnya haruslah mirip.

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

Bagaimana hal ini terkait dengan Firebase Remote Config atau Launch Darkly?

Bab berjudul “Bagaimana hal 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 mengubah konfigurasi aplikasi tanpa harus mengirimkan versi baru. Mereka tidak dimaksudkan untuk menggantikan code.

Berapa besar jejak ketergantungan ini?

Bab berjudul “Berapa besar jejak ketergantungan ini?”

Saya belum mengukur baru-baru ini, tapi saya mengharapkan code push library untuk menambahkan kurang dari satu megabyte ke Capacitor aplikasi. Kami tahu cara-cara untuk 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?

Judul bagian “Apakah Capgo berfungsi pada Simulator iOS 18.4?”

Tidak. Karena masalah upstream yang mempengaruhi Simulator iOS 18.4, Capgo tidak dapat dijalankan secara andal 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?

Judul bagian “Apakah code push berfungsi dengan aplikasi besar?”

Ya. Tidak ada batasan pada ukuran aplikasi yang dapat diperbarui dengan code push. Seperti yang disebutkan di bawah ini, Capgo dapat mengubah semua code JS di aplikasi Anda tanpa ada batasan ukuran.

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

Apa yang saya bisa gunakan Capgo code untuk mengirimkan?

Bagian berjudul “Apa yang saya bisa gunakan Capgo code untuk mengirimkan?”

Kami telah melihat berbagai penggunaan, termasuk:

  • Perbaikan darurat untuk 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 ini untuk informasi lebih lanjut.

Apa yang dihitung sebagai “MAU” untuk Capgo?

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

MAU adalah singkatan dari “Monthly Active User”. Dalam konteks Capgo, ini sebenarnya merujuk pada Monthly Active Device. Kami menghitung MAU sebagai perangkat apa pun yang telah menghubungi server kami dalam 30 hari terakhir. Kami tidak menghitung perangkat yang belum pernah menghubungi server kami dalam 30 hari terakhir.

PentingMulai dari versi plugin v5.10.0, v6.25.0 dan v7.25.0, ID perangkat sekarang bertahan di setiap penginstalan ulang aplikasi. Sebelum versi-versi ini, setiap penginstalan ulang aplikasi akan menghasilkan ID perangkat baru dan dihitung sebagai MAU baru.

Dengan versi saat ini:

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

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

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

Apa yang tidak bisa kita gunakan Capgo code push untuk?

Bagian 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 di Android atau Objective-C/Swift di iOS). Alat akan memberi peringatan Anda selama update jika Anda telah mengubah native code.

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

Bagian berjudul “Apakah saya bisa memperbarui capacitor.config.ts melalui Capgo?”

Tidak. Perubahan pada capacitor.config.ts tidak dapat dikirim melalui Capgo live updates. File konfigurasi Capacitor dibaca pada saat pembangunan native dan dikompilasi ke dalam file biner aplikasi native. 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 saat runtime. Jika Anda perlu mengubah konfigurasi Capacitor, Anda harus:

  1. Perbarui 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?

Judul bagian “Apakah Capgo mengirimkan ke toko-toko untuk saya?”

Capgo tidak mendukung saat ini untuk mengirimkan ke toko aplikasi untuk Anda. Kami memiliki rencana untuk menambahkan fitur ini di masa depan, tetapi untuk saat ini Anda akan perlu terus menggunakan proses yang sudah 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?”

Pembarui Capgo (termasuk dalam aplikasi Anda ketika Anda membangun aplikasi) menyimpan bundle terakhir 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.

The Capgo perintah baris perintah (misalnya npx @capgo/cli@latest bundle upload) telah terinstal di disk di npm cache, login Anda disimpan di direktori rumah Anda di ~/.capgo.

Bagaimana ini terkait dengan Capacitor Hot Reload?

Bab yang berjudul “Bagaimana ini terkait dengan Capacitor Hot Reload?”

Hot reload Capacitor adalah fitur waktu pengembangan saja. 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.

Apakah jenis perubahan yang Capgo code push dukung?

Bab yang berjudul “Apakah jenis perubahan yang Capgo code push dukung?”

Capgo dapat mengubah code JS apa saja 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 deteksi bahwa Anda telah mengubah native code karena tidak akan termasuk dalam paket.

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

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

Apakah ini akan berjalan 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 push code sudah siap produksi pada semua tiga.

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

Apa versi 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, namun kami 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.

How ini terkait dengan proses atau kebijakan ulasan App/Play Store?

Bab berjudul “How ini terkait 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. Mirip dengan 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 aplikasi: ).

https://__CAPGO_KEEP_0__.com/microsoft/react-native-__CAPGO_KEEP_1__-push#kebijakan-toko github push adalah teknik yang luas digunakan di toko aplikasi. Semua aplikasi besar yang saya ketahui menggunakan code push. Kebijakan utama yang perlu diwaspadai adalah tidak mengubah perilaku aplikasi dalam cara yang signifikan. Silakan lihat

Code push is a widely used technique throughout the app stores. All of the large apps I’m aware of use code push. The major policy to be aware of is not to change the behavior of the app in a significant way. Please see untuk informasi lebih lanjut. Apakah __CAPGO_KEEP_0__ memenuhi kebijakan Play Store?

Apakah Capgo memenuhi kebijakan Play Store?

Judul bagian “Apakah Capgo memenuhi pedoman Play Store?”

Ya.

Play Store menawarkan dua pembatasan terkait dengan alat pembaruan.

  1. Pembaruan harus menggunakan interpreter atau mesin virtual (Capgo menggunakan JavaScript dalam 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 Silakan jelas 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 dari Capgo Syarat dan Ketentuan Layanan dan dapat menyebabkan pembubaran akun Anda.

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

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

Apakah Capgo mengikuti pedoman toko aplikasi?

Judul bagian “Apakah Capgo mengikuti pedoman toko aplikasi?”

Ya.

Sama seperti toko aplikasi Play, 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 WebView untuk mengikuti keterbatasan interpreter-only untuk pembaruan di iOS. Selama aplikasi Anda tidak melakukan tindakan penipuan melalui pembaruan (misalnya mengubah tujuan aplikasi melalui pembaruan), pembaruan melalui Capgo (atau layanan push lainnya code) adalah praktik industri standar dan mengikuti pedoman toko aplikasi.

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

Microsoft juga menerbitkan panduan tentang bagaimana library react native mereka, “codepush”, memenuhi pedoman toko aplikasi: https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Apakah saya bisa menggunakan Capgo di negara saya?

Bab yang berjudul “Apakah saya bisa menggunakan Capgo di negara saya?”

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

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

URL-URL berikut digunakan oleh Capgo:

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

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

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

Apakah saya dapat meng-host Capgo sendiri?

Bagian berjudul “Apakah saya dapat meng-host Capgo?”

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

Apakah code push memerlukan koneksi internet untuk berfungsi?

Judul bagian “Apakah code push 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 mengangkut update ke perangkat.

Bagaimana Capgo terpengaruh oleh kekurangan koneksi jaringan?

Judul bagian “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, peringatan Capgo updater, yang 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 melebihi waktu, updater akan mencoba memeriksa lagi ketika aplikasi diluncurkan kembali.

Alat perintah garis perintah Capgo (misalnya, Capgo) memerlukan koneksi jaringan untuk berfungsi. Jika Anda menggunakan Capgo untuk mendistribusikan aplikasi, pastikan sistem CI Anda memiliki koneksi jaringan. npx @capgo/cli@latest bundle upload) require network connectivity to function. If you are using Capgo to distribute your app, you should ensure that your CI system has network connectivity.

Tautan langsung ke Apa yang terjadi jika pengguna tidak memperbarui selama waktu lama dan melewatkan update?

Bagaimana jika pengguna tidak memperbarui selama waktu lama dan melewatkan pembaruan?

Implementasi kami selalu mengirimkan pembaruan yang disesuaikan secara spesifik untuk perangkat yang meminta pembaruan, sehingga memastikan bahwa permintaan selalu diperbarui ke versi terbaru yang tersedia. Oleh karena itu, jika pengguna tidak memperbarui selama waktu tertentu, mereka akan

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 Capacitor yang sudah Anda kenal dan cintai.

Kami mengikuti rilis stabil terbaru dari Capacitor dan memperbarui plugin push code untuk berjalan dengan rilis tersebut.

Dengan default, pembaruan Capgo memeriksa pembaruan pada saat aplikasi dijalankan. Pembaruan berjalan di thread latar belakang dan tidak mengganggu thread UI. Pembaruan apa pun akan diinstal saat pengguna menggunakan aplikasi dan akan diterapkan pada saat aplikasi dijalankan kembali.

It juga mungkin untuk menjalankan pembaruan Capgo secara manual menggunakan @capgo/capacitor-updater melalui paket, melalui mana pembaruan dapat diaktifkan kapan saja, termasuk melalui pemberitahuan push.

Pembaruan Capgo dirancang sedemikian rupa sehingga ketika jaringan tidak tersedia, atau server tidak tersedia atau tidak dapat dijangkau, aplikasi akan terus berjalan seperti biasa. Jika Anda pernah memilih untuk menghapus pembaruan dari server kami, semua klien Anda akan terus berjalan seperti biasa.

Kami telah menambahkan kemampuan untuk mengembalikan patch. Hal yang paling sederhana 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 diungkapkan secara publik. Anda dapat memeriksaannya ke dalam pengawasan versi (bahkan secara publik) dan tidak perlu khawatir seseorang lain mengaksesnya.

Seseorang yang memiliki app_id can fetch the latest version of your app from Capgo servers, but they cannot push updates to your app or access any other aspect of your Capgo account.

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

Pengajuan yang dikirim dari aplikasi ke server Capgo mencakup:

  • 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 diatur dalam CapacitorUpdater.version )
  • version_number (dibuat sebagai bagian dari npx @capgo/cli@latest bundle upload)
  • os_version (misalnya ‘11.2.1’)
  • platform (misalnya ‘android’, diperlukan untuk mengirimkan patch yang tepat) Itu saja. code untuk hal ini ada di updater/library/src/network.rs
  • device_id (dibuat pada perangkat pada pertama kali dijalankan, digunakan untuk menghilangkan duplikat perangkat dan memungkinkan kami untuk mengenakan biaya berdasarkan pengguna yang terinstal (misalnya pengguna aktif bulanan), bukan total patch atau total instalasi patch)
  • ID untuk perangkat (opsional, ditentukan oleh pengembang pada saat runtime, digunakan untuk menghubungkan perangkat ke pengguna di sistem Anda)

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

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

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

Bagaimana Capgo berinteraksi dengan Play Testing Tracks atau Apple TestFlight?

Bagian berjudul “Bagaimana Capgo berinteraksi dengan Play Testing Tracks atau Apple TestFlight?”

Setiap toko aplikasi memiliki mekanisme tersendiri untuk mendistribusikan aplikasi ke kelompok pengguna yang terbatas (misalnya “pengujian internal”, “beta tertutup”, dll.). Mekanisme-mekanisme ini semua digunakan untuk membagi pengguna 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 kelompok uji tertentu atau melalui TestFlight. Oleh karena itu, kami tidak memiliki visibilitas yang dapat diandalkan atas komposisi kelompok-kelompok tersebut, dan tidak dapat memastikan akses ke patch Capgo berdasarkan kelompok-kelompok tersebut. 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 Capgo bundle, ada 4 pilihan potensial:

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

Bagaimana cara saya mengupgrade atau menurunkan rencana saya?

Judul bagian “Bagaimana cara saya mengupgrade atau menurunkan rencana saya?”

Saya dapat mengupgrade atau menurunkan rencana saya kapan saja di dashboard saya: https://console.capgo.app/settings/organization/plans

Kapan periode tagihan saya akan direset?

Judul bagian “Kapan periode tagihan saya akan direset?”

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

Bagaimana cara saya membatalkan langganan saya?

Judul bagian “Bagaimana cara saya membatalkan langganan saya?”

Saya dapat membatalkan langganan saya kapan saja di dashboard saya: https://console.capgo.app/pengaturan/organisasi/tarif

Apakah saya bisa membayar untuk satu tahun di muka?

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

Ya, Anda bisa melakukannya kapan saja di dashboard Anda: https://console.capgo.app/pengaturan/organisasi/tarif

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

ID perangkat dihasilkan pada perangkat pada saat pertama kali dijalankan, dan digunakan untuk menghilangkan duplikasi instalasi perangkat dan memungkinkan kami untuk menghitung berdasarkan pengguna yang terinstal (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.

Pengaturan Keterlambatan Perangkat (Diperbarui pada v6.25.0 dan v7.25.0):

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

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

ID perangkat tidak akan terdaftar dalam 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 secepat MAU.

Daftar perangkat hanya diperbarui ketika perangkat menginstal pembaruan.

Sementara MAU diperbarui setiap kali aplikasi diluncurkan. Hal ini adalah keterbatasan 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 saat aplikasi diperbarui.

Keterbatasan ini akan dihilangkan di masa depan.

Bagaimana cara memiliki pembaruan yang berbeda untuk setiap platform?

Bagian berjudul “Bagaimana cara memiliki pembaruan yang berbeda untuk setiap platform?”

Anda dapat membuat saluran untuk setiap platform. dan mengaktifkan pembaruan spesifik platform di setiap saluran.

Di saluran ios, nonaktifkan pembaruan android dan di saluran android, nonaktifkan pembaruan ios.

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

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