Zum Hauptinhalt springen
Alternativen

Wie Sie einem Benutzer oder einer Gruppe eine spezifische Aktualisierung senden

Ermöglichen Sie Ihren Benutzern, die Beta-Version auszuprobieren, ohne dass sie sich um TestFlight oder Google Beta kümmern müssen. Fügen Sie einfach einen Button in Ihrer Ionic-App hinzu, und sie sind bereit!

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Wie Sie einem Benutzer oder einer Gruppe eine spezifische Aktualisierung senden

Vorwort

Wenn Sie sich anfangs an das Aktualisierungssystem von Capgo gewöhnt haben, wie ich es bei meinen Apps getan habe, beginnen Sie, sich zu fragen: "Was, wenn ich noch 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 offen ist, haben Sie diese Macht auch :)

Der nächste Schmerz, den ich in der Capacitor-App-Verteilungsprozess erlebe, ist, dass andere Teammitglieder die Updates testen müssen!

Bei TestFlight ist das Problem einfach, aber es dauert viel Zeit, Leute in dein Team aufzunehmen und ihnen zu erklären, wie sie es bekommen können.

Und natürlich gibt es jede Mal, wenn du zu Apple sendest, ein zufälliges Bewertungsverfahren durch einen Bot, der 5 Minuten oder 5 Stunden brauchen kann, du weißt nie.

Ich habe viele Male meine Vorstellung durch diesen Prozess verzögert.

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

Lösung

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

npx @capgo/cli@latest bundle upload -c production wird aktualisiert, um alle Benutzer zu aktualisieren (wenn der Produktionskanal auf Standard eingestellt ist)

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

Dann hast du 2 Möglichkeiten, um Benutzern die Updates vom Kanal zu liefern.

Super automatische Methode

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

Mit diesem einen, brauchen Sie nur zuzulassen, dass einer Ihrer Kanäle selbst sein kann, um dies zu setzen.

Erlauben Sie, dass selbst in Capgo

Und fügen Sie dann dies in der code Ihres Ionic-Apps hinzu, für den besten Erfolg verwenden Sie dies nachdem der Benutzer auf einen Button wie 'für Beta registrieren' geklickt hat.

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

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

Manuelle Methode

Dies kann nützlich sein für Ihr internes Team, dies ist schnell umzusetzen. Erlauben Sie es Benutzern, ihre Geräte-ID aus Ihrer App zu kopieren und sie manuell an Sie zu senden, diese 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 verbundene Benutzer mit einem admin Beispiel.

Dann gehen Sie zur Web-App oder zur nativen App Capgo, melden Sie sich als App-Admin an, wählen Sie Ihre App aus, klicken Sie auf die Geräte-Liste.

Dann geben Sie in der Suchleiste die Geräte-ID ein, klicken Sie auf das gefundenen Gerät und klicken Sie dann auf den Kanal-Link, wählen Sie die development, bitten Sie Ihren Teamkollegen, den App wieder zu öffnen, warten Sie 30 Sekunden und öffnen Sie ihn wieder.

Er sollte Ihre Version erhalten.

Automatische Methode

Das kann nützlich für Ihre Beta-Tester 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 es automatisch an Ihren Backend senden, ich lasse Ihnen entscheiden, wie Sie das tun.

Ich werde Ihnen nur vorschlagen, es 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 dazu an die im Browser bereitgestellte URL mit POST, um hinzuzufügen und DELETE, um zu löschen.

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

Sie können auch senden null Um das Überschreiben zu entfernen

Wenn Sie programmatisch überprüfen müssen, welche Überschreibung auf einem Gerät gesetzt ist, können Sie sie 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())

Fahren Sie mit How to send specific update to one user or a group fort

Wenn Sie How to send specific update to one user or a group um das Kanalrouting und die geplante Rollout zu planen, verbinden Sie 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 Versionziel-Lösung für das Produktworkflow in Versionziel-Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, schicken Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung genehmigt ist. Die Benutzer erhalten das Update im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobil-App zu erstellen.