Lompat ke konten utama
Alternatif

How untuk mengirimkan pembaruan spesifik ke satu pengguna atau kelompok

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

Martin Donadieu

Martin Donadieu

Pengembang Konten

How untuk 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 :)

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

Dengan TestFlight, masalahnya sederhana, membawa orang ke dalam tim dan membuat mereka memahami cara mendapatkannya adalah waktu yang menghabiskan!

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 beberapa kali presentasi saya tertunda oleh hal ini…

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

Solusi

Untuk memperbaiki ini, saya menciptakan sistem Channel di Capgo.

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

Jika Anda npx @capgo/cli@latest bundle upload -c development maka versi akan mendarat di channel yang berbeda, ini dapat diotomatisasi di GitHub action.

Lalu Anda memiliki 2 cara untuk membiarkan pengguna mendapatkan update dari channel

Cara Super Otomatis

Hal ini dapat berguna ketika Anda tidak ingin menciptakan backend sendiri untuk pengaturan channel, ini cepat untuk diimplementasikan.

With itu, satu-satunya hal yang perlu Anda lakukan adalah memungkinkan salah satu saluran Anda untuk menjadi self untuk mengatur.

izin mengatur self di Capgo

Dan kemudian tambahkan ini di code dari aplikasi Ionic Anda, untuk pengalaman terbaik, gunakan ini setelah pengguna mengklik 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 mengirimkannya 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 kepada pengguna yang terhubung dengan peran, misalnya. admin Kemudian pergi ke aplikasi web atau aplikasi native __CAPGO_KEEP_0__, masuk sebagai admin aplikasi, pilih aplikasi Anda, klik pada daftar perangkat.

Then Go to the Web app or native app Capgo, connect as app admin, select your app, click on the device list.

Tanyakan kepada tim Anda untuk membuka aplikasi lagi, tunggu 30 detik dan buka tutup. developmentDia harus mendapatkan versi Anda.

Cara otomatis

__CAPGO_KEEP_0__

Ini bisa berguna untuk tester beta Anda, 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 menentukan bagaimana Anda melakukannya.

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

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

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

Dan hanya kirimkan ID perangkat Anda di tubuhnya ke URL yang diinstal dengan POST untuk menambahkan dan DELETE method untuk menghapus.

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

Anda juga dapat mengirimkan null untuk menghapus override

Jika Anda perlu memeriksa secara programatis apa saja override yang 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())

Teruslah dari Cara Mengirimkan Update Spesifik ke Satu Pengguna atau Grup

Jika Anda menggunakan Cara Mengirimkan Update Spesifik ke Satu Pengguna atau Grup 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 Uji Coba Beta untuk alur kerja produk di Solusi Uji Coba Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.

Pemberitahuan Hidup untuk Aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo bukan 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 membuat aplikasi mobile yang benar-benar profesional.