Zum Hauptinhalt springen
Alternativen

How send spezifische Aktualisierung an einem Benutzer oder einer Gruppe

Ermöglicht es Ihrem Benutzer, die Beta-Version ohne die Notwendigkeit von TestFlight oder Google-Beta-Prozess zu testen, indem Sie einfach einen Button in Ihrer Ionic-App hinzufügen und sie sind fertig!

Martin Donadieu

Martin Donadieu

Content Marketer

How send spezifische Aktualisierung an einem Benutzer oder einer Gruppe

Einleitung

Wenn Sie mit dem Update-System von Capgo anfangen, sich zu freuen, wie ich es bei meinen Apps tue, werden Sie das Gefühl entwickeln, “Was wenn ich mehr will?”

Ich hatte das Gefühl auch, aber da ich der Schöpfer von Capgo bin, konnte ich einen Blick darauf werfen!

Da alles Open-Source ist, haben Sie diese Macht auch :)

Der nächste Schmerz, den ich im Capacitor-App-Verteilungsprozess hatte, war es, andere Teammitglieder zum Testen der Updates zu bringen!

Bei TestFlight ist das Problem einfach, Menschen in Ihr Team zu bringen und sie zu verstehen, wie man es macht, ist zeitaufwändig!

Und natürlich, jede Veröffentlichung bei Apple unterliegt einem zufälligen Review-Prozess durch einen Bot, der 5 Minuten oder 5 Stunden dauern kann, man weiß nie.

Ich habe mich oft durch diesen Prozess meine Präsentation verzögert.

Und bei Google ist es noch schlimmer, das große Rätsel meines Lebens, eine Produktionsversion zu veröffentlichen dauert weniger als 2 Stunden, aber eine Beta-Version zu veröffentlichen dauert 1–2 Tage.

Lösung

Um dies zu beheben, habe ich das Channel-System in Capgo erstellt.

npx @capgo/cli@latest bundle upload -c production wird allen Benutzern aktualisiert (wenn die Produktionskanal auf Standard gesetzt ist)

Wenn Sie das tun npx @capgo/cli@latest bundle upload -c development dann landet die Version in einem anderen Kanal, dies kann in __CAPGO_KEEP_0__-Aktion automatisiert werden. GitHub action.

Super automatischer Weg

Dies kann nützlich sein, wenn Sie keinen eigenen Backend für die Kanal-Einstellung erstellen möchten, dies ist schnell umzusetzen.

Wenn Sie das tun, dann wird die Version in einem anderen Kanal landen, dies kann in __CAPGO_KEEP_0__-Aktion automatisiert werden.

With dem einen musst du nur eines tun: Einer deiner Kanäle erlauben, selbst zu sein, um es zu setzen.

Erlauben Sie "Selbst setzen" in Capgo

Und fügen Sie dann diesen in der code Ihres Ionic-Apps ein, für den besten Erfolg verwenden Sie dies nach dem Klick eines Benutzers auf einen Button wie “Registrieren für Beta”

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

const deviceId = await CapacitorUpdater.setChannel({ channel: 'beta' })

Manueller Weg

Dies kann für Ihr internes Team nützlich sein, dies ist schnell umzusetzen. Erlauben Sie es Benutzern, ihre Geräte-ID aus Ihrer App zu kopieren und sie Ihnen manuell zuzusenden, dieses code wird Ihnen dabei helfen:

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

const deviceId = await CapacitorUpdater.getDeviceId()

Verstecken Sie einen Button irgendwo in Ihrer App oder zeigen Sie den Button nur an, wenn Benutzer mit einer bestimmten "Rolle" verbunden sind, zum Beispiel. admin Dann gehen Sie zur Web-App oder zur nativen App __CAPGO_KEEP_0__, melden Sie sich als App-Admin an, wählen Sie Ihre App aus, klicken Sie auf die Geräteliste.

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

, bitten Sie Ihren Teamkollegen, den App wieder zu öffnen, warten Sie 30 Sekunden und öffnen Sie ihn wieder. developmentEr sollte Ihre Version erhalten.

Automatischer Weg

Erlauben Sie "Selbst setzen" in __CAPGO_KEEP_0__

Das kann für Ihre Beta-Tester nützlich sein, dies ist jedoch länger zu implementieren.

Gleich wie die manuelle Methode, Sie müssen den GeräteID erhalten.

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

const deviceId = await CapacitorUpdater.getDeviceId()

Aber diesmal müssen Sie ihn automatisch an Ihr Backend senden, ich lasse Ihnen entscheiden, wie Sie das tun.

Ich werde Ihnen nur empfehlen, ihn in einer Datenbank zu speichern, das wird Ihnen später das Leben erleichtern.

Dann müssen Sie es in Ihrem Backend an den Capgo Backend senden. Hier sind zwei code Beispiele:

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

Und senden Sie einfach Ihren device_id im Body zu der bereitgestellten URL mit POST, um hinzuzufügen und DELETE-Methode, um zu löschen.

Nachdem dies konfiguriert ist, versuchen Sie, einen Button in Ihrer App einzufügen, um sich für den Kanal anzumelden, und überprüfen Sie in der Web-App, ob dies gesetzt wurde.

Sie können auch null um das Überschreiben zu entfernen

Wenn Sie programmatisch überprüfen müssen, welches Überschreiben auf einem Gerät gesetzt ist, können Sie es auf der gleichen URL erhalten

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

Weitermachen von Wie man eine spezifische Aktualisierung an einen Benutzer oder eine Gruppe sendet

Wenn Sie " Wie man eine spezifische Aktualisierung an einen Benutzer oder eine Gruppe sendet um das Kanalrouting und die gestaffelte Veröffentlichung zu planen und es mit Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Beta-Testlösung für das Produktworkflow in Beta-Testlösung, und Version Targeting Lösung für das Produktworkflow in Version Targeting Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Fehler im Web-Schicht lebt, schicken Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store abzuwarten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.