Lompat ke konten utama
Alternatif

Cara mengirimkan pembaruan spesifik ke satu pengguna atau kelompok

Mengizinkan pengguna Anda mencoba versi beta tanpa perlu proses TestFlight atau Google Beta, cukup tambahkan tombol di aplikasi Ionic Anda, dan mereka siap!

Martin Donadieu

Martin Donadieu

Pengembang Konten

Cara mengirimkan pembaruan spesifik ke satu pengguna atau kelompok

Pendahuluan

Ketika Anda mulai menikmati sistem pembaruan 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 melihatnya!

Karena semua adalah sumber terbuka, Anda memiliki kekuatan ini juga :)

Masalah berikutnya yang saya hadapi dalam proses distribusi aplikasi Capacitor adalah membuat tim rekan kerja lainnya melakukan tes pembaruan!

Dengan TestFlight, masalahnya sederhana, 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 tinjauan acak oleh bot yang dapat memakan waktu 5 menit atau 5 jam, Anda tidak pernah tahu.

Saya pernah mengalami penundaan presentasi saya banyak kali karena hal ini…

Dan untuk Google ini bahkan lebih buruk, misteri besar hidup saya, mengeluarkan versi produksi membutuhkan kurang dari 2 jam, tetapi mengeluarkan versi beta yang dekat membutuhkan 1–2 hari.

Solusi

Untuk memperbaiki hal ini, saya menciptakan sistem Channel di Capgo.

npx @capgo/cli@latest bundle upload -c production akan memperbarui ke semua pengguna (jika saluran produksi diatur ke default)

Jika Anda melakukan npx @capgo/cli@latest bundle upload -c development maka versi akan berpindah ke saluran yang berbeda, ini dapat diotomatisasi dalam GitHub aksi.

Kemudian Anda memiliki 2 cara untuk memungkinkan pengguna mendapatkan pembaruan dari saluran

Cara Otomatis Super

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 mengatur sendiri.

Tetapkan sendiri di Capgo

Dan kemudian tambahkan ini di code dari 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' })

Cara Manual

Ini dapat berguna untuk tim internal Anda, ini cepat untuk diimplementasikan. Izinkan pengguna untuk menyalin ID perangkat mereka dari aplikasi Anda dan kirimkan ke Anda secara manual, ini code akan membantu Anda untuk mendapatkannya:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const deviceId = await CapacitorUpdater.getDeviceId()

Sembunyikan tombol di mana-mana di aplikasi Anda, atau tampilkan tombol hanya untuk pengguna yang terhubung dengan admin Peran, misalnya.

Kemudian pergi ke aplikasi web atau aplikasi native Capgo, masuk sebagai admin aplikasi, pilih aplikasi Anda, klik pada daftar perangkat.

Kemudian masukkan ID perangkat ke dalam bar pencarian, klik pada yang ditemukan, dan kemudian klik pada tautan Channel, pilih development, minta rekan tim Anda membuka aplikasi lagi, tunggu 30 detik, dan buka tutup.

Dia harus mendapatkan versi Anda.

Cara Otomatis

Metode ini dapat berguna untuk tes beta Anda, tetapi ini lebih lama untuk diimplementasikan.

Sama seperti cara manual, Anda harus mendapatkan ID perangkat

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const deviceId = await CapacitorUpdater.getDeviceId()

Tapi kali ini Anda harus mengirimkannya secara otomatis ke backend Anda, saya biarkan Anda memutuskan bagaimana Anda melakukannya.

Saya hanya akan menyarankan Anda untuk menyimpannya di database, itu akan memudahkan hidup Anda nanti.

Kemudian di backend Anda harus mengirimkannya ke Capgo backend juga. Di bawah ini dua code contoh:

NodeJS
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)
}

Kirim saja ID perangkat di dalam tubuhnya ke URL yang di-deploy dengan metode POST untuk menambahkan dan metode DELETE untuk menghapus.

Setelah ini diatur, coba tambahkan tombol di aplikasi Anda untuk memilih saluran, dan periksa di aplikasi web apakah sudah terkonfigurasi.

Anda juga dapat mengirim null untuk menghapus override

Jika Anda perlu memeriksa secara programatis apa saja override yang telah diatur pada perangkat, Anda dapat mendapatkan di 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())

Lanjutkan dari Cara Mengirimkan Update Spesifik ke Pengguna atau Kelompok

Jika Anda menggunakan Cara Mengirimkan Update Spesifik ke Pengguna atau Kelompok untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran 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.

Update Hidup untuk Aplikasi Capacitor

Saat bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile yang benar-benar profesional.