Ke halaman utama
Alternatif

Bagaimana mengirimkan pembaruan spesifik ke satu pengguna atau kelompok

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

Kredit artikel

Martin Donadieu

Pengarang

Valeria

Pengulas

Jordan

Pengarang

Bagaimana 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, tapi sebagai pembuat Capgo, saya bisa melihatnya.

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

Kesulitan berikutnya yang saya hadapi dalam proses distribusi aplikasi Capacitor adalah membuat rekan tim lainnya menguji pembaruan!

Dengan TestFlight, masalahnya sederhana, tetapi memasukkan orang ke dalam tim dan membuat mereka memahami cara mendapatkannya membutuhkan waktu yang lama!

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 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 dekat membutuhkan 1–2 hari.

Solusi

Mengatasi masalah ini, saya membuat 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 ingin npx @capgo/cli@latest bundle upload -c development maka versi akan mendarat di saluran yang berbeda, ini dapat diancam dalam GitHub aksi.

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

Cara Super Otomatis

Cara ini dapat berguna ketika Anda tidak ingin membuat backend sendiri untuk mengatur saluran, ini cepat untuk diimplementasikan.

Dengan cara ini, satu-satunya hal yang perlu Anda lakukan adalah memungkinkan salah satu saluran Anda untuk mengatur diri sendiri.

Pilih mengatur 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' })

Metode manual

Hal ini dapat berguna untuk tim internal Anda, ini lebih cepat untuk diimplementasikan. Izinkan pengguna untuk menyalin ID perangkat dari aplikasi Anda dan mengirimkannya ke Anda secara manual, hal ini code akan membantu Anda untuk mendapatkannya:

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

const deviceId = await CapacitorUpdater.getDeviceId()

Semua orang dapat melihat tombol ini, atau hanya pengguna yang terhubung dengan peran tertentu. admin contoh peran.

Lalu Buka aplikasi web atau aplikasi native Capgo, masuk sebagai admin aplikasi, pilih aplikasi Anda, klik pada daftar perangkat.

Lalu masukkan ID perangkat ke dalam bar pencarian, klik pada perangkat yang ditemukan, lalu klik pada tautan Channel, pilih versi yang ingin Anda kirimkan. developmentSetelah itu, mintalah rekan Anda untuk membuka aplikasi lagi, tunggu 30 detik, lalu buka tutup.

Dia harus mendapatkan versi Anda.

Metode otomatis

Hal ini dapat berguna untuk tes beta, ini lebih lama untuk diimplementasikan.

Sama seperti metode 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 untuk memutuskan bagaimana Anda melakukannya.

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

Lalu di backend Anda harus mengirimkannya ke backend Capgo juga. Dibawah ini dua contoh code:

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 Anda di dalam tubuhnya ke URL yang di-deploy dengan metode POST untuk menambah dan metode DELETE untuk menghapus.

Setelah ini dikonfigurasi, cobalah untuk menambahkan tombol di aplikasi Anda untuk memilih saluran, dan periksa di aplikasi web jika itu telah diatur.

Anda juga dapat mengirimkan null untuk menghapus override

Jika Anda memerlukan untuk 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())

Teruskan dari Cara mengirimkan update spesifik ke satu pengguna atau kelompok

Jika Anda menggunakan Cara mengirimkan update spesifik ke satu pengguna atau kelompok untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran Untuk detail implementasi di Channel, Saluran Untuk detail implementasi di Channel, Saluran Untuk detail implementasi di Channel, untuk detail implementasi di Saluran, untuk alur kerja produk dalam Solusi Pengujian Beta. Solusi Target Versi Untuk alur kerja produk dalam Solusi Target Versi.

Live updates untuk aplikasi Capacitor

Ketika 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.

Dukungan Manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

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