Zum Inhalt springen

Kanäle

Wenn ein Gerät Capgo für eine Aktualisierung anfragt, wird der zu verwendende Kanal in folgender Reihenfolge (höchste Priorität zuerst) bestimmt:

  1. Zwanghafte GerätemappeWenn die Geräte-ID explizit auf einen Kanal gezwungen wird (der Geräte tab on the channel page), that channel always wins. Forced mappings are console/API overrides. Capgo removes them 90 days after the last override write. See Konsolen und API-Überwachungen verfallen.
  2. Cloud-Überwachung (Dashboard oder öffentliche API): Ändert ein Gerät im Dashboard oder über den Public API eine Überschreibung, die an das Geräte-Id gebunden ist. nicht löschen; das Löschen der Überschreibung tut. Die gleiche 90-Tage-Rückstand gilt.
  3. Plugin setChannel() (lokale)Auf aktuellen Pluginversionen, setChannel() Der Kanal wird auf dem Gerät nach Hintergrundvalidierung gespeichert. Es handelt sich nicht um eine Überlagerung der Dashboard-Funktion. Durch Neininstallieren des Apps wird es gelöscht; die App muss setChannel() again if you still want that channel.
  4. Capacitor Konfiguration defaultChannel (Legacy-SchlüsselFür interne / Beta / Testversionen können Sie defaultChannel __CAPGO_KEEP_0__ channel in) capacitor.config.* Geräte für die Testphase starten auf einem Vorab-Channel (z.B. beta, pr-123) Wenn dies fehlt, wird das Gerät auf die Cloud-Standard-Einstellung weitergeleitet. Produktionssysteme lassen dies normalerweise ungesetzt.
  5. Cloud-Standard-Channel (Hauptstrategie für etwa 99% der Nutzer): Die Hauptproduktionskanal, auf den sich fast alle echten Benutzer begeben. Jedes neue Gerät ohne Zwang, ohne Vorhandensein eines lokalen setChannel(), und ohne eine Konfiguration defaultChannel verwendet dies. Eine Änderung wirkt sich (oder rollt zurück) für alle in Sekunden aus, ohne einen neuen Binärdatei.

Weshalb der Cloud-Standard der Hauptweg ist:

  • Instante Ausrollen oder Zurückrollen ohne Wiederaufbau oder Neuveröffentlichung von nativen Binärdateien.
  • Eine zentrale Stelle zum Verwalten von iOS, Android- und Electron-Verhalten.
  • Sicherer: Sie können Bundles bestätigen und Einstellungen überprüfen, bevor Sie die Standard-Einstellung ändern.
  • Änderungen, die nachvollziehbar sind (Teammitglieder können im UI / Protokoll sehen, wer was geändert hat).\nGrundsatz: Ebenen darüber (zwingen / überschreiben / Konfiguration) sind exceptions (Debuggen für einzelne Benutzer, QA-Switching, Testbuild-Standard). Normale Benutzer fließen in den Cloud-Standard.

Der Channel Die Änderung der Cloud-Standardkanal beeinflusst normale Geräte, die:

  • normale Geräte, die:
  • Haben Sie bereits eine Cloud-Überschreibung
  • Bereits eine Cloud-Überschreibung haben nicht defaultChannel definiert

Wenn ein Testbuild mit defaultChannel: 'beta' und Sie später die Cloud-Standard-Einstellung auf productionGeräte, die sich auf beta über die Konfiguration bleiben, bis eine höherprioritäre Zuweisung gilt oder bis Sie ein Binärdatei ohne defaultChannelEntfernen Sie eine Zwangs-, Cloud-Überprüfung oder lokale setChannel() Zuweisung entfernt nicht die Konfigurationswert; dieser Fallback bleibt, bis die neue Binärdatei veröffentlicht ist.

Geräte bleiben auf ihrem aktuellen Kanal, bis Sie:

  • Zwingen Sie sie auf einen anderen Kanal (Konsole oder Public API).
  • Ändern Sie die Cloud-Überprüfung in der Konsole oder Public API.
  • aufrufen setChannel() (lokale Zuweisung auf aktuellen Plugin-Versionen).
  • Entfernen / archivieren Sie den Kanal, auf dem sie sich befinden (dann fallen sie wieder durch die Präzedenzfolge zurück bei der nächsten Überprüfung).
  • Warten Sie, bis ein Konsolen/API-Übertrag nach 90 Tagen abläuft.
  • Wiederinstallieren Sie die App, was eine lokale setChannel() Zuweisung, aber nicht einen Konsolen/API-Übertrag, löscht.

Wenn ein Kanal für eine Plattform deaktiviert ist (siehe iOS / Android / Electron-Schalter) und sonst ausgewählt worden wäre, springt die Auswahl darüber hinweg und fällt auf das nächste Regel zurück.

Hinweis: Durch Setzen defaultChannel bedeutet, dass eine Änderung einen neuen Binärdatei erfordert; verwenden Sie es absichtlich für Test/QA, nicht für allgemeine Produktionssteuerung.

capacitor.Konfigurationsdatei.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
CapacitorUpdater: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

Wenn Sie später die Standard-Einstellung des Dashboards auf production, Geräte, die bereits auf einem anderen Kanal (über Konfiguration, Überschreibung oder Zwang) sind, werden NICHT automatisch umgestellt; nur frische Geräte (oder solche, deren Überschreibung/Zwang Sie aufheben) fassen es auf.


Zuerst nehmen wir einen Blick auf die Kanäle-Seite. Sie können sie über klicken Sie auf Ihre App und dann klicken Sie auf den Kanal-Tab.

Kanal-Liste

Wie Sie sehen können, gibt es in der unteren rechten Ecke einen Plus-Button (1 in der Abbildung). Wenn Sie auf ihn klicken, öffnet sich ein Modalfenster, in dem Sie einen neuen Kanal erstellen können.

neue Kanal

Klicken Sie dann auf Add ein neuer Kanal sollte in der Liste erscheinen.

nach Kanal erstellen

Manchmal ist die Konfiguration eines Kanals nicht gültig. In diesem Fall erhalten Sie eine große Warnung und die Misconfigured Spalte wird Yes für einen oder mehreren der Kanäle. Sie können mehr darüber erfahren. here

To entfernen Sie einen Kanal aus der Webanwendung, öffnen Sie das Kanäle Tab für Ihre App und finden Sie die Kanalzeile. Kanal column, click the trash icon, then click Kanal im Bestätigungsdialog

Spaltenzeile für den Kanal mit dem Löschmüllsymbol

Wenn das Mülleimer-Symbol nicht sichtbar ist, besitzt Ihr Konto nicht die channel.delete permission for that app. Ask an organization or app admin to grant a role that can delete channels, or delete the channel with an API key that has permission:

Terminalfenster
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Eine Organisation- und App-geschachtelte App-Vorschau Schlüssel kann atomar nur die nicht öffentliche Vorschaukanal und Paket löschen, das mit ihm channel delete <preview-channel> <app-id> --delete-bundleerstellt wurde. Es kann nicht einen bestehenden Standard-/Hauptkanal ändern oder löschen, einen anderen Vorschau-Schlüssels Kanal oder ein anderes Schlüssels Paket. API Schlüssel __CAPGO_KEEP_0__ Schlüssel

für die geringsten Rechte-Konfiguration.

Verwalten Sie einen Kanal

Klicken Sie auf den Kanalnamen, um die Kanalseite zu öffnen. Es ist eine vollständige Seite mit Tabs, kein Modalfenster.

Kanal-Einstellungen
  • DashboardZuordnung der aktuellen Bundle und Installationsstatistiken für diesen Kanal.
  • Informationen: Einstellungen des Kanals unten, plus progressive Rollout und Test Update API.
  • Geräte: Zwangszuweisungen, die aus der Konsole oder Public API erstellt wurden. Es listet nicht alle Geräte auf, die sich auf dem Kanal befinden, und es listet auch keine Geräte auf, die setChannel()Siehe : Konsole und API-Überschreibungen erlöschen.
  • Verlauf: Einstellungen und Bundle-Änderungen für diesen Kanal.
  • Vorschau: In-Browser- und native Vorschau des verknüpften Bundles. Aktivieren Sie die Bundle-Vorschau in Anwendungsinformationen erstens.

bleiben Sie auf der Information Reihenfolge der Einstellungen:

Zuerst, Standard-Download-Channel ist ein Status-Indikator und kein Schalter. Aktiv bedeutet, dass dieser Kanal der Cloud-Standard für neue Geräte ist. Klicken Verwalten Sie die Einstellungen der App um die Standardwerte zu ändern App-Informationen. Für plattformabhängige Standards (eine für iOS, eine für Android und eine für Electron) siehe dieselbe Abschnitt.

Zweitens ist die IOS Einstellung. Wenn dies falsch ist, werden iOS-Geräte nicht in der Lage sein, Updates von diesem Kanal herunterzuladen.

Drittens ist die Android Einstellung. Wenn dies falsch ist, werden Android-Geräte nicht in der Lage sein, Updates von diesem Kanal herunterzuladen.

Viertens ist die Electron Einstellung. Wenn dies falsch ist, werden Electron-Apps nicht in der Lage sein, Updates von diesem Kanal herunterzuladen.

Fünftens ist die Disable auto downgrade under native Wenn dies wahr ist, ist es unmöglich, von einer native Version zurückzukehren. Das bedeutet, dass, wenn Sie eine native Version hochgeladen haben, 1.2.0 version zur App Store oder Play Store und versuchen Sie, die Kanalversion auf 1.1.0 Dann wird die Aktualisierung (Rückbau) fehlschlagen.

Sechstes ist der Disable auto updateDieses Einstellung ist ziemlich komplex, und Sie können mehr darüber erfahren hier

Siebtes ist die Download format Einstellung. Sie wählt, ob Geräte ein vollständiges Zip-Datei herunterladen, nur die geänderten Delta-Dateien oder das Beste von beidem. Siehe Herunterladeformat.

Achtes ist die Allow development buildWenn dies zutrifft, werden Entwicklungsbuilds Updates von diesem Kanal herunterladen dürfen. Ansonsten werden alle Update-Anfragen, die prod falsch gesetzt ist, abgelehnt. Dies ist vor allem für Testzwecke nützlich.

Zehntes ist Allow production build. Wenn dies falsch ist, erhalten Produktions- (Store-) Builds keine Updates von diesem Kanal. Lassen Sie dies für Kanäle an, die echte Benutzer bedienen.

Zehnter ist der Allow EmulatorsWenn dies falsch ist, wird Capgo jede Update-Anfrage von einem Emulator ablehnen. Dies ist vor allem für Testzwecke nützlich.

Elfter ist Allow physical devices. Wenn dies falsch ist, wird Capgo Aktualisierungsanforderungen von realen Smartphones und Tablets ablehnen. Lassen Sie dies für Produktionskanäle an.

Zwölfter ist Allow devices to self dissociate/associate. Wenn dies wahr ist, ist die Kanal setzen Methode verfügbar. Wenn dies auf falsch gesetzt wird und Sie versuchen, Kanal setzen mit diesem Kanal aufzurufen, dann wird der Aufruf fehlschlagen.

Unten auf der Seite Informationen Erweitern Sie Test Update API. Capgo zeigt eine cURL-Kommandozeile gegenüber /updates für ein Beispielgerät auf diesem Kanal.

Änderungen können bis zu 60 Sekunden dauern, um in der API sichtbar zu werden, aufgrund von Caching. Wenn der Kanal nicht getestet werden kann, warnt der Konsole Sie: Der Kanal benötigt mindestens eine Plattform (iOS oder Android), Produktionsbuilds, physische Geräte und entweder muss der Kanal die Standard-Download-Quelle sein oder Geräte selbst zuweisen dürfen.

Benachrichtigung über Update senden

Benennung: „Benachrichtigung über Update senden“

Abschnitt mit dem Titel “Benachrichtigung über Update senden” Benachrichtigung über Update senden. Das stellt eine stille Push-Anfrage, sodass Geräte auf dem Kanal nach dem neuen Bundle suchen. Konfigurieren Sie zunächst die Android- und iOS-Push-Zertifikate auf der Benachrichtigungen-Taste in der App.

Zwangszuweisungen und Dashboard/Öffentliche API-Kanal-Überschreibungen werden entfernt 90 Tage nach der letzten Überschreibungsaktion. Der letzte Geräte-Check-in setzt diese Uhr nicht zurück. Für eine Zuweisung, die diesen Reinigungsvorgang überlebt, setzen Sie defaultChannel in Ihrem Capacitor-Konfiguration (überlebt einen Neustart, benötigt einen neuen Binary-Datei, um zu ändern) oder rufen Sie setChannel() vom App (vermeidet die 90-Tage-Säuberung, aber eine erneute Installation löscht es, daher muss die App es aufrufen) setChannel() wieder auf.

Capgo-Kanal-Geräte-Taste mit dem Popover für die Überschreibungs-Retention: Console-Überschreibungen erlöschen nach 90 Tagen
Überschreibungs-Retention auf der Geräte-Taste des Kanals. Das gleiche Hinweis erscheint, wenn Sie einem Gerät eine Zwangs-ID auf den Kanal zwingen.

Dies ist getrennt von Geräteinventar-Retention. Das Inventar entfernt Geräte, die sich in den letzten 90 Tagen nicht mit Capgo verbunden haben. Die Überprüfung der Reinigung entfernt die Zuordnung, selbst wenn das Gerät noch aktiv ist. Vollständige Details: Console und API-Überprüfungen erlöschen nach 90 Tagen.

Ein __CAPGO_KEEP_0__-Kanal öffnen und dabei bleiben Information tab. Herunterladungsformat ist in der Einstellungsliste, unter Deaktivieren automatischer Updates.

Herunterladungsformat auf der Capgo-Kanal-Informationsebene. Neue Kanäle verwenden standardmäßig Zip + Delta.
Herunterladen des Formats auf der Kanal-Informationsebene. Neuen Kanäle stehen Zip + Delta als Standard.

Diese Einstellung bestimmt, was Capgo sendet, wenn ein Gerät auf diesem Kanal eine Aktualisierung abruft. Lassen Sie Zip + Delta es sei denn, Sie müssen eine bestimmte Art zwingen.

Beschriftung im KonsoleCLI / API-WertWas die Geräte herunterladen
Zip + Delta (Standard)allJedes Gerät erhält das beste Paket, das es unterstützt. Geräte auf einer Plugin-Version mit Delta-Unterstützung laden nur die geänderten Delta-Dateien, wenn das Bundle sie hat. Nur Geräte auf einer alten Plugin-Version ohne Delta-Unterstützung oder Bundles, die ohne Delta-Dateien hochgeladen wurden, fallen auf das volle Zip zurück.
Vollständiger Zip-ArchivzipJedes Gerät lädt das ganze Bundle-Zip herunter, auch wenn Delta-Dateien existieren.
Nur DeltadeltaNur die geänderten Delta-Dateien. Geräte auf einer alten Plugin-Version ohne Delta-Unterstützung erhalten immer noch das volle Zip, wenn das Bundle eines hat.
Vollzip aus dem Store-Build nurzip_from_builtinVollzip nur, solange das Gerät noch am Store-Build ist. Nach der ersten live update, Capgo dient Zip + Delta wieder.
Delta aus dem Store-Build nurdelta_from_builtinDelta nur, solange das Gerät noch am Store-Build ist. Nach der ersten live update, Capgo dient Zip + Delta wieder.

Mit Zip + Delta, ist es zu erwarten, dass einige vollständige Zip-Downloads auftreten. Sie stammen von Geräten, die noch ein älteres natives Build mit einer Plugin-Version ohne Delta-Unterstützung (unterhalb von 5.10.0, 6.25.0, oder 7.0.35 für ihre Hauptversion) laufen. Delta-Updates.

Die Store-Build Die Web-Assets werden innerhalb der App Store oder Play Store-Binary geschifft, bevor jede Capgo-Aktualisierung. Verwenden Sie ein from store build only Modus, wenn die erste Aktualisierung aus dem Store-Build vollständig als Zip oder nur als Delta erfolgen soll, und späteren Updates steht es frei, beide zu verwenden.

Das Capgo wird keine zip- nur-Kanal mit einer delta- nur-Paket oder umgekehrt pairen. Die Konsole, CLI, und Channels API weigern sich, zu speichern, und sagen Ihnen, dass Sie das fehlende Paket hochladen oder den Modus ändern müssen.

Sie können denselben Wert auch von der CLI-Konsole setzen. Der Channel muss bereits existieren:

Terminal-Fenster
npx @capgo/cli@latest channel set production com.example.app --update-package zip

Gültige Werte: all, zip, delta, zip_from_builtin, delta_from_builtin.

Der Kanal Information Ein Reiter enthält Progressive Rollout Eine Sektion enthält Ziel des Rollouts und Stabile Fallback, Änderung des Rollout-Ziels, Anwendung des Prozentsatzes, und Aktionen Abschluss des Rollouts, Rückgängigmachung des Rollouts, Rollout aktivieren, Rollout deaktivieren, Rollout pausieren, und Rollout fortsetzen.

Progressive Rollout-Kontrollen in einem Capgo-Kanal
Fortschrittsrollout-Kontrollen erscheinen oben auf der Kanal-Informationen-Seite.

Lese Progressive Rollouts vor der Aktivierung. Diese Anleitung behandelt die Upload-Routing ("Das Leitfaden behandelt die Upload-Route ( / Auto (empfohlen) / Stabil ersetzen; CLI --stable / API target: "stable" um zu überschreiben, die Dieser Kanal verwendet progressive Rollout Bündellink-Dialog und eine sichere Workflow mit Beobachten und Log-Insights.

Wenn Sie den Kanal verwenden Kanäle um das Routing und die geplante Rollout-Phase zu planen und es mit Kanäle zur Implementierungsdetail in Kanälen Kanäle zur Implementierungsdetail in Kanälen Beta-Testlösung für das Produktworkflow in der Beta-Testlösung, Version-Zielsystemlösung für das Produktworkflow in der Versionziel-Lösung Capgo Umgebungsbest Practices: Staging mit einem Mobile App ID zur praktischen Kontext in Capgo Umgebungsbest Practices: Staging mit einem Mobile App ID