Pendahuluan
Ketika Anda mulai menikmati sistem update Capgo, seperti saya untuk aplikasi saya, Anda akan mulai merasa "Apa jika saya ingin lebih?"
Saya juga merasakan hal itu, tetapi karena saya adalah pembuat Capgo, saya dapat melihat lebih dalam!
Karena semua adalah sumber terbuka, Anda memiliki kekuatan ini juga :)
Masalah berikutnya yang saya hadapi dalam proses distribusi aplikasi Capacitor adalah membuat rekan tim lainnya melakukan tes update!
Dengan TestFlight, masalahnya sederhana, tetapi membawa orang ke dalam tim dan membuat mereka memahami cara mendapatkannya membutuhkan waktu!
Dan tentu saja, setiap kali Anda mengirimkan ke Apple, Anda memiliki proses ulasan acak oleh bot yang dapat memakan waktu 5 menit atau 5 jam, Anda tidak pernah tahu.
Saya pernah mengalami penundaan presentasi saya beberapa kali karena hal ini...
Dan untuk Google, hal ini bahkan lebih buruk, misteri besar hidup saya, mengeluarkan versi produksi membutuhkan kurang dari 2 jam, tetapi mengeluarkan beta dekat membutuhkan 1-2 hari.
Pemecahan Masalah
Untuk mengatasi hal ini, saya menciptakan sistem Channel di Capgo.
npx @capgo/cli@latest bundle upload -c production akan diperbarui ke semua pengguna (jika saluran produksi diatur ke default)
Jika Anda melakukan npx @capgo/cli@latest bundle upload -c development maka versi akan mendarat di saluran yang berbeda, hal ini dapat diotomatisasi di GitHub action.
Maka Anda memiliki 2 cara untuk memungkinkan pengguna mendapatkan update dari saluran
Jalan Otomatis Super
Hal ini dapat berguna ketika Anda tidak ingin membuat backend sendiri untuk pengaturan saluran, ini cepat untuk diimplementasikan.
Dengan itu, satu-satunya hal yang perlu Anda lakukan adalah memungkinkan salah satu saluran Anda untuk menjadi self untuk pengaturan.

Dan kemudian tambahkan ini di code aplikasi Ionic Anda, untuk pengalaman terbaik, gunakan ini setelah pengguna menekan tombol seperti "daftar untuk beta".
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const deviceId = await CapacitorUpdater.setChannel({ channel: 'beta' })
Jalan Manual
Hal ini dapat berguna untuk tim internal Anda, ini cepat untuk diimplementasikan. Izinkan pengguna untuk menyalin ID perangkat mereka dari aplikasi Anda dan kirimkannya ke Anda secara manual, hal ini code akan membantu Anda untuk mendapatkannya:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const deviceId = await CapacitorUpdater.getDeviceId()
Semirakan tombol di tempat yang berbeda di aplikasi Anda, atau hanya tampilkan tombol tersebut kepada pengguna yang terhubung dengan peran tertentu, misalnya. admin Kemudian pergi ke aplikasi web atau aplikasi native __CAPGO_KEEP_0__, hubungkan sebagai admin aplikasi, pilih aplikasi Anda, klik pada daftar perangkat.
Kemudian masukkan ID perangkat ke dalam bar pencarian, klik pada perangkat yang ditemukan, dan kemudian klik pada tautan Saluran, pilih Capgo
tanyakan kepada rekan tim Anda untuk membuka aplikasi lagi, tunggu 30 detik dan buka tutup. development__CAPGO_KEEP_0__ akan membantu Anda untuk mendapatkan ID perangkat pengguna.
Dia harus mendapatkan versi Anda.
Metode otomatis.
Metode ini dapat berguna untuk tes beta Anda, tetapi lebih lama untuk diimplementasikan.
Namun, kali ini Anda harus mengirimkannya secara otomatis ke backend Anda, saya biarkan Anda menentukan bagaimana Anda melakukannya.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const deviceId = await CapacitorUpdater.getDeviceId()
Saya hanya akan menyarankan Anda untuk menyimpannya di database, sehingga akan memudahkan hidup Anda nanti.
Lalu di backend Anda harus mengirimkannya ke backend __CAPGO_KEEP_0__ juga. Berikut dua __CAPGO_KEEP_1__ contoh:
Then in your backend you have to send it to Capgo backend too. Below two code examples:
__CAPGO_KEEP_0__
import axios from 'axios'
await axios.post('https://api.capgo.app/device', {
app_id: 'YOUR_APP_ID',
device_id: 'DEVICE_ID',
channel: 'CHANNEL_NAME', // The name of the channel, or undefined if version_id provided
version_id: 'VERSION_NAME' // this is optional, if provide it will override the channel, that useful when you want to debug only one user.
}, {
headers: {
authorization: 'YOUR_API_KEY' // choose a key with 'write' or 'all' rights
}
})
Cloudflare
addEventListener('fetch', (event) => {
event.respondWith(
handleRequest(event.request).catch(
err => new Response(err.stack, { status: 500 })
)
)
})
async function handleRequest(request) {
const { pathname, method } = new URL(request.url)
const body = await request.json()
const newBody = JSON.stringify({
app_id: 'YOUR_APP_ID',
device_id: body.device_id,
channel: 'alpha'
})
const newUrl = new URL('https://api.capgo.app/device')
const options = {
headers: {
authorization: 'YOUR_API_KEY',
},
method: 'POST',
body: newBody
}
if (request.method === 'DELETE') {
// DELETE the channel link
options.method = 'DELETE'
return fetch(newUrl.toString(), options)
}
return fetch(newUrl.toString(), options)
}
Setelah ini diatur, cobalah untuk menambahkan tombol di aplikasi Anda untuk memilih saluran, dan periksa di aplikasi web jika sudah terkonfigurasi.
Anda juga dapat mengirimkan
__CAPGO_KEEP_0__ null untuk menghapus override
Jika Anda memerlukan untuk memeriksa secara programatis apa override yang telah ditetapkan pada perangkat, Anda dapat mendapatkan pada URL yang sama
import axios from 'axios'
const res = await axios.get('https://api.capgo.app/device?app_id=YOUR_APP_ID&device_id=DEVICE_ID', {
headers: {
authorization: 'YOUR_API_KEY' // choose a key with 'write' or 'all' rights
}
})
console.log('data', res.json())
Teruskan dari Cara mengirimkan pembaruan spesifik ke satu pengguna atau kelompok
Jika Anda menggunakan Cara mengirimkan pembaruan spesifik ke satu pengguna atau kelompok untuk merencanakan routing kanal dan peluncuran yang dipersiapkan, hubungkannya dengan Saluran context: Capgo fitur nama saluran rilis. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Tampilan Putih Label Solusi) untuk detail implementasi di Saluran, Saluran context: Capgo fitur nama saluran rilis. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Tampilan Putih Label Solusi) untuk detail implementasi di Saluran, dan untuk detail implementasi di Saluran, dan untuk detail implementasi di Saluran, Solusi Pengujian Beta untuk alur kerja produk di Solusi Pengujian Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.