Zum Inhalt springen

FAQ

Wenn Sie hier nicht beantwortete Fragen haben, bitten wir Sie, zu fragen! Beide das Einreichen eines Issues oder das Fragen auf Discord arbeiten.

Code push, auch als „Over-the-Air-Updates“ (OTA) bezeichnet, ist ein Cloud-Dienst, der Entwicklern von Capacitor ermöglicht, Updates für ihre Apps in der Produktion bereitzustellen. Capgo funktioniert derzeit auf Android, iOS und Electron.

„Code Push“ ist eine Referenz auf den Namen einer Bereitstellungsfeature, das von der React Native Community von Microsoft and ExpoKeiner von beiden unterstützt Capacitor

Müssen Capgo CLI-Majore mit meiner Erweiterung oder Capacitor-Version übereinstimmen?

Abschnitt mit dem Titel ‘Müssen Capgo CLI-Majore mit meiner Erweiterung oder Capacitor-Version übereinstimmen?’

Nein. Verwenden Sie immer die neueste Capgo CLI (npx @capgo/cli@latest). Die CLI- und Capgo-Konsole folgen ihrer eigenen Versionsnummerierung und bleiben mit jeder unterstützten Erweiterungsmajore kompatibel. Capgo-Erweiterungen folgen Capacitor-Majoren; siehe Capgo-Versionsnummerierung für LTS-Tags wie @lts-v7.

Was ist der Unterschied zwischen einem Bundle und einer Veröffentlichung?

Abschnitt mit dem Titel ‘Was ist der Unterschied zwischen einem Bundle und einer Veröffentlichung?’

Wir verwenden den Begriff ‘Veröffentlichung’ für die Vorbereitung eines Binärs für die App-Stores. Um später ein Bundle Capgo erstellen zu können, muss Capgo die genaue Binary wissen, die an die App-Stores geschickt wurde.

Wir verwenden den Begriff „Bundle“ für eine Patchesammlung, die auf eine Veröffentlichung angewendet werden kann, um sie auf neue code zu aktualisieren. npx @capgo/cli@latest bundle upload Der Befehl wird verwendet, um ein Bundle aus Ihrem neuen lokalen code zu generieren, das dann an Ihre Benutzer geschickt wird.

Ja:

  • Null-Byte-Dateien: Die CLI-Protokolle Ignoring empty file... und schließen leere Dateien aus den Delta-Dateien aus. Es schlägt nicht fehl, wenn eine leere Datei den Upload ändert, ohne Ihre Bereitstellung zu stoppen. Fügen Sie keine leeren Dateien in Delta-Bundle-Pfade ein.
  • Pfade mit Leerzeichen: Delta-Uploads scheitern frühzeitig mit einem klaren Fehler, wenn ein Bundle-Pfad ein Leerzeichen enthält. Benennen Sie Dateien oder Verzeichnisse um, um Leerzeichen zu entfernen, bevor Sie ein Delta-Update hochladen.

Siehe Delta-Updates für Einrichtungsdetails

Unsere Projektboards sind auch öffentlich und finden Sie sie unter: https://github.com/orgs/Cap-go/projects

Our team also operates in the public, so you can see what we’re working on at any time. We’re happy to answer any questions you have about our roadmap or priorities via Github issues or Discord.

Direkter Link zu Kann ich Capgo mit meiner Team nutzen?

https://Capgo.com/orgs/Cap-go/projects

Ja! Alle Pläne unterstützen unbegrenzte Entwickler. Wir limitieren nur die Anwendungsdaten (MAU, Speicher und Bandbreite) für jede Organisation.

Siehe Teams für weitere Informationen.

Direkter Link zu Does Capgo store my source code?

Fragenbereich mit dem Titel „Speichert Capgo meine Quelldatei code?“

Kein. Capgo-Server sehen Ihre Quellcode code nie. Wenn Sie } npx @capgo/cli@latest bundle upload, Capgo speichert eine Zip-Datei des minimierten/verkompilierten code - dasselbe code , das ein Browser erhalten würde, nicht Ihr Quellcode code.

Für zusätzliche Sicherheit haben Sie zwei Optionen:

  • __CAPGO_KEEP_0__: Encrypt your bundle before uploading to protect it in storage and transit and to prevent third parties from generating valid encrypted updates without your private key. This does not make shipped web assets impossible to reverse engineer because the public key is present in the distributed app.
  • Externen-URL-Upload: Speichern Sie das Bundle auf Ihrem eigenen Server und geben Sie nur Capgo den Download-Link mit der Option --external <url>

Siehe auch unsere Datenschutzrichtlinie: https://capgo.app/datenschutz

Nein. Bundle-Dateien sind öffentliche Web-Assets, die von Ihren App-Benutzern heruntergeladen werden sollen. Jeder, der den Bundle-URL kennt, kann diese Dateien abrufen, und Capgo informiert die Benutzer darüber während der Einrichtung und in der Dokumentation.

Der Zugriff auf Bundle-Dateien wird nicht als Datenverletzung betrachtet. Legen Sie keine Geheimnisse, Anmeldeinformationen, persönliche Daten oder regulierte Daten in Ihr App-Bundle ein. Wenn Sie für hochsichere Anwendungsfälle stärkere Vertraulichkeit benötigen, verwenden Sie Ende-zu-Ende-Verschlüsselung, aber behandeln Sie verschiffene App code und -Assets weiterhin als öffentlich aus Sicherheitsberichterstattungsperspektive.

Yes. Capgo ist für die Verwendung aus CI-Systemen vorgesehen. Wir haben eine Anleitung für Android und Github-Aktionen und iOS, und für GitLab. Andere CI-Systeme sollten ähnlich sein.

Bitte zögern Sie nicht, sich bei GitHub-Problemen oder Discord zu melden, wenn Sie Probleme auftreten.

Wie verhält sich dies zu Firebase Remote Config oder Launch Darkly?

Abschnitt mit dem Titel "Wie verhält sich dies zu Firebase Remote Config oder Launch Darkly?"

Code-Push ermöglicht das Hinzufügen neuer code / Ersetzen von code auf dem Gerät. Firebase Remote Config und Launch Darkly sind beide Konfigurationsysteme. Sie ermöglichen es Ihnen, die Konfiguration Ihres Apps ohne eine neue Version zu ändern. Sie sind nicht dazu vorgesehen, code zu ersetzen.

Wie groß ist der Abhängigkeitsfußabdruck, den dies hinzufügt?

Abschnitt mit dem Titel „Wie groß ist der Abhängigkeitsfußabdruck, den dies hinzufügt?“

Ich habe mich nicht kürzlich gemessen, aber ich erwarte, dass die code-Push-Bibliothek weniger als einen Megabyte an Capacitor-Anwendungen hinzufügt. Wir kennen Möglichkeiten, dies kleiner zu machen, wenn dies ein Prioritätsfall wird. Wenn Größe ein Blockierer für Sie ist, teilen Sie es uns bitte mit!

Nein. Aufgrund eines von oben gesteuerten Problems, das den iOS 18.4 Simulator betrifft, funktioniert Capgo dort nicht zuverlässig. Testen Sie bitte auf einem echten Gerät oder verwenden Sie eine andere iOS-Simulator-Version.

Siehe Details im React Native Issue: facebook/react-native#50510

Ja. Es gibt keine Größenbeschränkung für die Anwendung, die mit code Push aktualisiert werden kann. Wie unten angegebenwird, kann Capgo Push jede JavaScript-code in Ihrer Anwendung ändern, unabhängig von der Größe.

Zu beachten: Eine größere Größe macht es schwieriger für Benutzer, Updates herunterzuladen. Wir empfehlen, Ihre App so klein wie möglich zu halten.

Wir haben eine Vielzahl von Anwendungen gesehen, darunter:

  • Notfallkorrekturen für Produktionsanwendungen.
  • Versand von Bugfixes an Benutzer älterer Versionen Ihrer App.
  • Ständiger Versand (z.B. alle Stunden).

Hinweis: Die meisten App-Stores verbieten die Lieferung von code, die das Verhalten der App in einem wesentlichen Umfang ändert. Bitte sehen Sie sich unten für weitere Informationen.

Ein MAU ist ein monatlich aktives Gerät. Ein einzelnes Gerät, das Capgo innerhalb eines 30-Tage-Rolling-Intervalls kontaktiert, zählt als ein MAU für die native App-ID. Das gleiche physische Gerät, das mit zwei unterschiedlichen native App-IDs verwendet wird, zählt einmal für jede App-ID; es wird nicht über sie hinweg dedupliziert.

Wenn Ihre Geschmacksrichtungen sich nur in ihrer Web-Schicht oder Update-Route unterscheiden, verwenden Sie eine native App-ID mit KanälenDamit bleiben die Geschmacksrichtungen unter einer einzigen Capgo-App und machen Releases einfacher. Verwenden Sie separate native App-IDs, wenn eine Geschmacksrichtung eine unterschiedliche Bundle-ID, Signaturidentität, Berechtigungssatz oder Store-Liste benötigt.

Auf iOS v7.25.0+ behält die zufällige, app-basierte Geräte-ID bei normalen Wiederinstallierungen über Keychain bei. Auf Android verwendet man v7.50.1+ (oder v5.50.1+ v5.50.1+ v6.50.1+ on those release lines); the ID is restored only when Android Backup/Restore retains the app preferences. Disabling backup, excluding those preferences, or clearing app data generates a new device ID. Updating the app does not create a new device ID.

For test and development builds, turn off development-build and emulator delivery on production channels. That controls delivery, not MAU: a device can still count when it contacts Capgo. To keep it out of production usage, disable live updates and do not call production Capgo endpoints. See Test Native Builds ohne Live Updates Test Native Builds Without Live Updates

Was können wir nicht mit Capgo code pushen?

Was kann man nicht mit Capgo code pushen?

Capgo kann keine native code wie Java, Kotlin, Objective-C, Swift, native Plugins oder native Konfiguration ändern. Diese Änderungen erfordern eine neue native App-Veröffentlichung. Für den Store-Review-Scope siehe App Store und Google Play Richtlinien.

Kann ich capacitor.config.ts Änderungen via Capgo aktualisieren?

Kann ich capacitor.config.ts Änderungen via Capgo aktualisieren?

Nein. Kurze Regel: Capgo kann die generierte Web-Build-Folder einschließlich HTML, CSS, JavaScript, Assets und reinen-JavaScript-Paket-Änderungen, die in diesem Output gebündelt sind, senden. Änderungen an capacitor.config.tsNative Plugin-Konfiguration, native Paket-Installationen oder -Updates und alles, was die iOS- oder Android-Projekt-Updates erfordert. npx cap sync or npx cap copy erfordern ein natives App-Release.

The Capacitor configuration file is read at native build time and compiled into the native app binary. If you need to change your Capacitor configuration, you must:

  1. Update capacitor.config.ts lokal
  2. Erstellen Sie Ihr natives App (npx cap sync gefolgt von einem nativen Build)
  3. Stellen Sie das neue Binärdatei bei den App-Stores ein

Capgo Build kann ein vorbereitetes natives iOS- oder Android-Projekt kompilieren und signieren und, wenn konfiguriert, das signierte Ergebnis bei App Store Connect oder Google Play einreichen. Sie können Ihre bestehende CI für private Abhängigkeiten, Web-Builds, Capacitor-Synchronisierung und benutzerdefinierte natives Vorbereitung beibehalten; Capgo erhält das vorbereitete natives Projekt für den nativen Build-Schritt.

Siehe Capgo Build und die Konfigurationsreferenz für die Build-Einstellungen für den Workflow und die Speicherabgabemöglichkeiten.

Der Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihr App erstellen) speichert die neueste heruntergeladene Bundle im einzigen Verzeichnis, das capacitor erlaubt, code zu laden. Auf Android-Geräten befindet sich dies im /data/user/0/com.example.app/code_cache/capgo_updater obwohl der Basispfad durch das Android-System bereitgestellt wird und sich dynamisch während der Laufzeit ändern kann. Auf iOS-Geräten werden Daten unter Library/Application Support/capgo.

Die Capgo-Befehlszeilenwerkzeuge (z.B. npx @capgo/cli@latest bundle uploadsind auf der Festplatte in npm-Caches installiert, Ihre Anmeldeinformationen werden in Ihrem Home-Verzeichnis in ~/.capgo.

Capacitor-Hot Reload ist eine Entwicklungzeit-Funktion. Code-Push ist für die Produktion.

Hot reload ist eine Funktion von Capacitor, die es Ihnen ermöglicht, code auf dem Gerät während der Entwicklung zu ändern. Es erfordert, dass Sie die Capacitor-App mit einem Proxy aufbauen, um eine Verbindung zu Ihrem lokalen Computer herzustellen.

Code-Push ist eine Funktion, die es Ihnen ermöglicht, code auf dem Gerät in der Produktion zu ändern. Wir werden verschiedene Techniken verwenden, um dies möglich zu machen, je nach Plattform.

Capgo kann jede JS-code in Ihrer Anwendung ändern. Dies umfasst Anwendungs-code und generierte code. Sie können auch Abhängigkeiten aktualisieren in package.json solange sie keine native code-Änderungen erfordern.

Wir haben keine Pläne, native code-Änderungen (z.B. Java/Kotlin auf Android oder Objective-C/Swift auf iOS) zu unterstützen, und die Werkzeugkiste wird Sie warnen, wenn sie feststellt, dass Sie native code-Änderungen vorgenommen haben, da diese nicht in der Bundle enthalten sind.

Code-Push ist für Web nicht erforderlich, da Web bereits auf diese Weise funktioniert. Wenn ein Benutzer eine Web-Anwendung öffnet, lädt sie die neueste Version vom Server, wenn erforderlich.

Wenn Sie ein Anwendungsfall für code Push mit Web haben, würden wir gerne davon erfahren!

Wird dies auf iOS, Android, Mac, Windows, Linux usw. funktionieren?

Abschnitt mit dem Titel „Wird dies auf iOS, Android, Mac, Windows, Linux usw. funktionieren?“

Ja.

Bisher haben wir uns auf Android, iOS und Electron-Unterstützung konzentriert, und code ist auf allen drei Plattformen in der Produktion bereit.

Capgo unterstützt die gleichen Versionen von Android, die Capacitor unterstützt.

Capacitor unterstützt derzeit Android API-Level 22+ und iOS 13.0+: https://capacitorjs.com/docs/main/reference/support-policy

Capgo unterstützt derzeit nur die neuesten stabilen Versionen von Capacitor. Wir könnten auch ältere Versionen von Capacitor unterstützen, wir haben es jedoch noch nicht geschafft, die notwendige Infrastruktur aufzubauen, um solche Versionen im Laufe der Zeit zu unterstützen. Wir beabsichtigen, in Zukunft mehr Versionen von Capacitor zu unterstützen, einschließlich jeder Version für unsere Unternehmenstkunden. https://github.com/Cap-go/capgo/issues/1100

Capgo verfolgt die stabilen Versionen von Capacitor und aktualisiert sich innerhalb weniger Stunden nach jeder stabilen Veröffentlichung. Unser System für diese Updates ist automatisiert und dauert einige Minuten, um durchzuführen. Wir führen dann einen zusätzlichen manuellen Überprüfungsprozess durch, bevor wir die Änderungen auf unseren Servern veröffentlichen.

Wie verhält sich dies zum App/Play Store-Bewertungsprozess oder -richtlinien?

Abschnitt mit dem Titel „Wie verhält sich dies zum App/Play Store-Bewertungsprozess oder -richtlinien?“

Capgo liefert Änderungen nur an der Capacitor-Web-Schicht: dem HTML, CSS, JavaScript und den Assets, die bereits im WebView des Apps laufen. Es ändert nicht den nativen Binärdatei, native Plugins, Berechtigungen, Zulassungen, Signierung oder Store-Metadaten.

Verwenden Sie für jede native Änderung und für alle materialen Änderungen, die das Ziel oder die Funktionalität des Apps beeinflussen könnten, eine native Store-Veröffentlichung. Halten Sie Live-Updates innerhalb der App-Erfahrung, die Sie eingereicht und den Benutzern offenbart haben.

Garantiert Capgo eine Zulassung im App Store oder Google Play?

Abschnitt mit dem Titel „Garantiert Capgo eine Zulassung im App Store oder Google Play?“

Nein. Apple und Google prüfen jede App und veröffentlichen sie auf eigenen Bedingungen, und Capgo kann keine individuelle Zulassung oder Bewertungsergebnisse garantieren. Ihr Team bleibt für den Inhalt der App, die Offenlegung, den Updateumfang und die Einhaltung der aktuellen Ladenbedingungen verantwortlich.

Für die Planung von Überprüfungen und Veröffentlichungen lesen Sie die offiziellen Richtlinien direkt: Apple App Store Review Richtlinien und Google Play Geräte- und Netzwerkmissbrauchsrichtlinie.

Wir haben versucht, keinen Zugriff auf Capgo von keinem Land einzuschränken.

Wir erkennen an, dass einige Länder Einschränkungen auf die von dort aus zugänglichen URLs haben. Capgo verwendet derzeit Cloudflare Cloud für das Hosting, einschließlich R2 Storage und Cloudflare-Arbeitern.

Die folgenden URLs werden von Capgo verwendet:

  • https://api.capgo.app — verwendet von den npx @capgo/cli Befehlszeilen-Tools, um mit den Capgo-Servern sowie dem Capgo-Updater auf den Geräten der Benutzer zu interagieren, um Updates zu überprüfen.
  • https://*.r2.cloudflarestorage.com — verwendet von den npx @capgo/cli Befehlszeilen-Tool zum Hochladen und Herunterladen von Bundeln

Wenn alle diese URLs in Ihrem Land zugänglich sind, sollte Capgo funktionieren.

Wenn Ihr Land die Zugriffsberechtigung auf jede dieser URLs erfordert, teilen Sie uns das bitte mit und wir können gemeinsam eine Lösung finden. Proxy-Server sind eine Option.

Ja. Enterprise unterstützt lizenzierte selbst gehostete Capgo-Deployments, wenn Sie den Updater-Backend in Ihrer eigenen Infrastruktur ausführen müssen. Siehe Selbst gehosteter Updater für das Bereitstellungsmodell und die Endpunkte.

Ja. Man könnte sich vorstellen, einen Server zum Verteilen der Updates separat von der allgemeinen Internetverbindung zu betreiben, aber eine Form der Netzwerkverbindung ist erforderlich, um Updates an die Geräte zu transportieren.

Wie wird Capgo durch einen Mangel an Netzwerkverbindung beeinflusst?

Abschnitt mit dem Titel “Wie wird Capgo durch einen Mangel an Netzwerkverbindung beeinflusst?”

Capgo-Updater (einschließlich in Ihrer Anwendung, wenn Sie Ihre App mit Capgo bauen) ist darauf ausgelegt, resistent gegen Netzwerkverbindungsprobleme zu sein.

In der Standardaktualisierungsverhaltensweise, wenn die Anwendung gestartet wird, meldet sie sich beim Capgo-Updater an, der einen separaten Thread startet, um eine Netzwerk-Anfrage an Capgo-Server zu stellen und nach einer Aktualisierung zu fragen. Wir verwenden absichtlich einen separaten Thread, um sicherzustellen, dass nichts anderes im Hintergrund blockiert wird. Wenn die Netzwerk-Anfrage fehlschlägt oder abläuft, wird der Updater einfach wieder versuchen, zu überprüfen, wenn die Anwendung nächstes Mal gestartet wird.

Capgo-Befehlszeilenwerkzeuge (z.B. npx @capgo/cli@latest bundle upload) benötigen eine Netzwerkverbindung, um zu funktionieren. Wenn Sie Capgo zur Verteilung Ihrer App verwenden, sollten Sie sicherstellen, dass Ihr CI-System eine Netzwerkverbindung hat.

Wenn ein Benutzer eine lange Zeit nicht aktualisiert und eine Aktualisierung verpasst?

Abschnitt mit dem Titel „Wenn ein Benutzer eine lange Zeit nicht aktualisiert und eine Aktualisierung verpasst?“

Unsere Implementierung sendet immer eine Aktualisierung, die speziell für das Gerät konzipiert ist, das sie anfordert, und aktualisiert den Anforderer immer auf die neueste verfügbare Version. Wenn ein Benutzer also eine Weile nicht aktualisiert, wird er „intermediate Updates“ verpassen.

Der Aktualisierungsserver könnte so konfiguriert werden, dass er entweder die nächste inkrementelle Version oder die neueste Version antwortet, je nach Bedarf Ihrer Anwendung. Bitte lassen Sie uns wissen, wenn alternative Aktualisierungsverhaltensweisen für Sie wichtig sind.

Capgo ist ein Plugin für Capacitor, das code-Push-Funktionen hinzufügt. Capgo ist keine Ersatz für Capacitor. Sie können weiterhin die Capacitor-Tooling verwenden, das Sie bereits kennen und lieben.

Wir verfolgen die neueste stabile Version von Capacitor und aktualisieren unsere code-Push-Plugin, um damit zu funktionieren.

Standardmäßig überprüft der Capgo-Updater bei der App-Startzeit nach Updates. Es läuft auf einem Hintergrundthread und blockiert nicht den UI-Thread. Jeder Update wird während der Benutzung der App installiert und wird bei der nächsten App-Neustart angewendet.

Es ist auch möglich, den Capgo-Updater manuell auszuführen, indem man den @capgo/capacitor-updater Paket, mit dem Updates jederzeit ausgelöst werden können, einschließlich über eine Push-Nachricht.

Der Capgo-Updater ist so konzipiert, dass, wenn das Netzwerk nicht verfügbar ist, der Server nicht erreichbar ist oder sonst wie nicht erreichbar ist, die App wie normal weiterläuft. Sollten Sie jemals eine Aktualisierung von unseren Servern löschen, werden alle Ihre Clients wie normal weiterlaufen.

Wir haben die Möglichkeit hinzugefügt, Patches rückgängig zu machen. Das Einfachste ist, einfach eine vorherige Bundle an Ihrem Kanal anzuhängen, um es rückgängig zu machen.

Nein. Der app_id wird in Ihrer App enthalten und ist sicher, wenn Sie ihn öffentlich machen. Sie können ihn in Ihre Versionskontrolle einchecken (auch öffentlich) und müssen sich nicht um jemanden Sorgen machen, der ihn zugreifen kann.

Jemand, der Ihren app_id kann die neueste Version Ihrer App von Capgo-Servern abrufen, aber er kann keine Updates an Ihre App pushen oder Zugriff auf andere Aspekte Ihres Capgo-Accounts erhalten.

Die vollständige Dateninventur, das Verhalten der Endpunkte und die Datenschutzkontrollen sind in Konzem.

Set statsUrl: '' zur Deaktivierung expliziter Updater-Statistikberichte. Sie können auch statsUrl to a proxy or endpoint you control; see die Verarbeitung von Statistiken in selbst gehosteter Infrastruktur. Die Aktualisierungsprüfungen benötigen immer noch eine Geräteskript-Identifikator, damit Capgo die richtige Aktualisierung auswählen und die monatlichen aktiven Geräte zählen kann.

Die Liste der Subverarbeiter ist unser aktuelle öffentliche Quelle der Wahrheit für Anbieter, Verarbeitungsorte, Übertragungsmechanismen und Änderungsgeschichte.

Ja, aber Ihr Compliance-Besitzer muss die richtige Bereitstellungsmodelle wählen. Capgo Cloud wird derzeit nicht als HIPAA-konformes gehosteter Statistikverarbeiter vorgestellt. Standardmäßig ist die Aktualisierungsdaten auf Geräteebene und nicht an einen bekannten App-Benutzer gebunden, und viele Teams verwenden diesen Modell erfolgreich.

Für strengere Überprüfungen können Sie den Plugin-Verkehr geo-lokalisieren, die Statistiken durch Festlegen von statsUrl auf eine leere Zeichenkette deaktivieren, die Statistik-Endpunkt nur selbst gehostet haben oder lizenzierte Selbst-Hosting verwenden. Rufen Sie nicht CapacitorUpdater.setCustomId(...) mit einer E-Mail, Benutzer-ID, Patienten-ID, Mitarbeiter-ID oder einem Wert, der die Telemetrie des Updaters auf eine Person zurückmappen lässt.

Siehe HIPAA-Konformität für die vollständige technische Einrichtung und die Beobachtbarkeitsabwägungen, wenn Statistiken deaktiviert sind.

Ja. Apps, die für die Capgo Cloud-Plugin-Verkehr eine EU-Datenresidenz benötigen, können die Updater-Endpunkte auf den EU-Host einstellen:

  • updateUrl: https://plugin.eu.capgo.app/updates
  • statsUrl: https://plugin.eu.capgo.app/stats
  • channelUrl: https://plugin.eu.capgo.app/channel_self

Verwenden Sie alle drei EU-URLs gemeinsam, damit Überprüfungen, Statistiken und die Selbstzuweisung des Kanals dieselbe regionale Datenpfad verwenden. Da diese Werte in capacitor.config.tsProduktions-Apps auf Mobilgeräten eine native Veröffentlichung benötigen, bevor bestehende Installationen die neuen Endpunkte verwenden.

Siehe Datenstandort für exakte Capacitor und Electron-Beispiele.

Momentan unterstützt Capgo Android, iOS und Electron. Alle sind für die Produktion bereit.

Die Verwendung von Capgo für iOS, Android oder Electron kann unabhängig voneinander erfolgen. Sie können Ihre Kanalstrategie für Android und eine IPA für den App Store, oder Electron-Kanäle, je nach Bedarf festlegen.

Capgo kann (relativ leicht) auch für Desktop- oder Embedded-Ziele unterstützt werden. Wenn diese für Sie wichtig sind, teilen Sie es uns bitte mit.

Wie interagiert Capgo mit Play-Test-Tracks oder Apple TestFlight?

Abschnitt mit dem Titel „Wie interagiert Capgo mit Play-Test-Tracks oder Apple TestFlight?“

Jeder der App-Stores hat eigene Mechanismen, um Apps an begrenzte Gruppen von Benutzern zu verteilen (z.B. „internes Testen“, „geschlossene Beta“, usw.). Diese sind alle Mechanismen, um Ihre Benutzer in Gruppen zu segmentieren und bestimmte Versionen Ihrer Apps an jede Gruppe zu verteilen.

Leider ermöglichen nicht alle diese Mechanismen, dass Drittanbieter erkennen, wenn Apps in einer bestimmten Test-Track oder über TestFlight installiert sind. Daher haben wir keine zuverlässige Sicht auf die Zusammensetzung dieser Gruppen und können nicht zuverlässig den Zugriff auf Capgo-Patches auf der Grundlage dieser Gruppen steuern. https://stackoverflow.com/fragen/53291007/kann-ein-android-anwendung-den-test-track-in-google-play-erkennen https://stackoverflow.com/fragen/26081543/wie-kann-man-zur-lauffzeit-erkennen-ob-eine-ios-anwendung-durch-einen-testflight-beta-i

Wenn Sie die Verfügbarkeit des Capgo-Pakets segmentieren möchten, stehen Ihnen 4 mögliche Optionen zur Verfügung:

  1. Verwenden Sie eine separate Kanal für jede Gruppe. Dies ist der direkteste Ansatz, aber er erfordert, dass Sie mehrere Kanäle verwalten. Sie haben möglicherweise bereits Entwicklerkanäle und Produktionskanäle mit unterschiedlicher Verfügbarkeit. Sie können also Ihre Entwicklerkanäle aktualisieren, überprüfen und dann separat Ihre Produktionskanäle aktualisieren. Wir empfehlen die Verwendung von Branches / Tags in Ihrer Versionskontrolle, um die Quellen zu verwalten, die mit jedem Release verbunden sind.
  2. Verfolgen Sie Ihre eigenen opt-in-Nutzer, deaktivieren Sie die automatische Aktualisierung und lösen Sie Aktualisierungen nur für bestimmte Nutzer über das @capgo/capacitor-updater Paket aus. Dies funktioniert heute, aber Sie müssen Ihre eigenen opt-in-Liste verwalten.
  3. Capgo ermöglicht die Erstellung eigener opt-in-Mechanismen auf Gerätebasis (ähnlich wie Test-Tracks oder TestFlight, nur plattformübergreifend). Dies ermöglicht es Ihrem QA-Team, das Paket vor der Veröffentlichung für die Allgemeinheit zu aktivieren.
  4. Use progressive Rollouts um ein Kandidatenpaket an einem zufälligen, festen Teil eines Kanals zu liefern. Legen Sie eine Rollout von 0–100% fest oder verwenden Sie --rollout-percentage-bps für 0,01% Schritte; konfigurieren Sie die Cache-Dauer von 60 Sekunden bis 365 Tagen und optional eine automatische Pausierungspolitik. Dies wählt keine benannte Gerätegruppe aus.

Sie können Ihr Abonnement jederzeit in Ihrem Dashboard auf- oder heruntergraden: https://console.capgo.app/einstellungen/organisation/abrechnung/pläne

Der Abrechnungszeitraum wird automatisch jeden Monat neu gesetzt, an dem Sie sich erstmals für Capgo angemeldet haben. Zum Beispiel wird Ihr Abrechnungszeitraum, wenn Sie sich am 15. eines Monats angemeldet haben, jeden Monat am 15. neu gesetzt.

Sie können Ihr Abonnement jederzeit in Ihrem Dashboard kündigen: https://console.capgo.app/einstellungen/organisation/pläne

Ja. Sie können eine jährliche Abrechnung in Ihrem Unternehmensplan-Einstellungen.

Was wird für den Speicher gezählt, und können wir die Aufbewahrungsfrist ändern?

Was wird für den Speicher gezählt, und können wir die Aufbewahrungsfrist ändern?

Speicher umfasst historische Bundle und ihre Delta-Assets über alle Kanäle hinweg. Sie können die Speicherung von nicht verwendeten Bundeln für jede App in den App-Einstellungen steuern. Bundles, die mit einem aktiven Kanal oder einer Rollout-Phase verbunden sind, bleiben geschützt, damit sie für die Lieferung und das Zurücksetzen verfügbar bleiben.

Multipliziert regionale Replikation den Speicher oder die Bandbreite?

Abschnitt mit dem Titel „Multipliziert regionale Replikation den Speicher oder die Bandbreite?“

Nein. Ein Bundle wird einmal für den Speicher gezählt, unabhängig von den Regionen, die es bereitstellen. Die Bandbreite wird nicht durch Regionen multipliziert: siehe Wie wird die Bandbreite berechnet?.

Wie wird die Bandbreite berechnet?

Wie wird die Bandbreite berechnet?

Bandbreite zählt nur die Dateien, die ein Gerät tatsächlich von Capgo herunterlädt:

  • als Sie mit Wenn Sie hochladen --deltaein Gerät lädt nur die Dateien herunter, die seit der Version, die es bereits hat, geändert wurden. Nur diese Dateien zählen. Unveränderte Dateien wie große Bilder oder Schriftarten werden nicht erneut heruntergeladen und kosten nichts. Siehe Delta-Updates.
  • Edge-Cache: wenn ein angeforderter Datei oder ein vollständiger Zip bereits im Edge-Cache gespeichert ist, zählt diese Herunterladung nicht gegen Ihr Bandbreitenlimit. Dies gilt für Delta-Dateien und vollständige Zips gleichermaßen.
  • Wiederaufnahmehandlungen: wenn ein Download unterbrochen wird, wird der Gerät von wo es aufgehört hat, fortgesetzt. Der bereits heruntergeladene Teil wird nicht erneut heruntergeladen oder gezählt.
  • Vollzip: bundles werden ohne --deltaoder Geräte auf einer Plugin-Version ohne Delta-Unterstützung laden das Vollzip. Es zählt nur, wenn es nicht aus dem Edge-Cache ausgeliefert wird.

Um die Bandbreite niedrig zu halten, laden Sie mit --delta und behalten Sie große Assets, die selten geändert werden, in stabilen Dateipfaden.

Enterprise umfasst eine monatliche Verfügbarkeitszusage von 99,9% für das Produktionsplattform. Wenn diese Zusage nicht eingehalten wird, ist das Service-Kredit-Schema 10% bis 30% basierend auf monatlicher Verfügbarkeit. Die Anfangsunterstützung-Zielen sind P1: eine Stunde, 24/7/365; P2: zwei Geschäftsstunden; P3: einen Geschäfts-tag; und P4: zwei Geschäfts-tage. Lesen Sie die Unternehmens-SLA für die vollständigen Bedingungen.

Die Statistiken in Ihrem Dashboard werden jede Nacht um Mitternacht UTC aktualisiert. Die Statistiken werden aus den unterschiedlichen MAUs aktiven während des rollenden 30-Tage-Periodes berechnet.

Wie wird die Geräte-ID generiert?

Sektion: Wie ist der Geräte-Id generiert

Der Geräte-Id wird auf dem Gerät bei der ersten Ausführung generiert und wird verwendet, um Duplikate von Geräte-Installations zu vermeiden und es uns zu ermöglichen, auf Basis der installierten Geräte (z.B. monatlich aktive Geräte) zu berechnen, anstatt auf Basis der Gesamtzahl der Patches oder der Gesamtzahl der Patch-Installations.

MAU is a better solution than number of installs to price Capgo, as it is more accurate and reflects the actual cost of Capgo per device.

Geräte-ID-Persistenz:

  • iOS: Ab v7.25.0+ wird die Geräte-Id in Keychain gespeichert und bleibt bei normalen Wiederherstellungen bestehen.
  • Android: Verwenden Sie v7.50.1+ (oder v5.50.1+/v6.50.1+ auf diesen Release-Linien). Die Geräte-Id wird nur dann wiederhergestellt, wenn Android Backup/Restore die App-Einstellungen aufbewahrt.
  • Elektron: Die Geräte-Id wird in sicheren Speicher gespeichert.
  • Android-Hinweis: Deaktiviert man die Sicherung, ausschließt die relevanten Einstellungen oder löscht die App-Daten, wird ein neuer Geräte-Id generiert. Android v7.25.0 bis v7.50.0 kann auch nach einer Wiederinstallation ein neuer Geräte-Id generieren, wenn die Sicherung aktiviert ist.

Das Geräte-ID ist app-basiert und unterstützt Live-Update-Lieferung und MAU-Duplikationsvermeidung; es handelt sich nicht um eine Werbe- oder Cross-App-Tracking-ID.

Geräte-IDs werden nach dem App-Check-in über Capgo über die Updater- oder Statistik-Endpunkte aufgelistet. Ein Gerät muss keine Patches installieren, bevor es in der Geräte-Liste erscheint.

Die Geräte-Liste und die MAU basieren auf unterschiedlichen Signalen.

Die Geräte-Liste zeigt die neuesten bekannten Metadaten für jedes Gerät an, wie z.B. die Geräte-Id, die Plattform, die Plugin-Version, die Betriebssystem-Version, die native Version, den Kanal, den installierten Bundle und den Anfrage-Landkreis, wenn verfügbar. Der Anfrage-Landkreis ist die neueste gültige zwei-Buchstaben-code-Eingabe, die von einem Cloudflare-bearbeiteten Anfrage für das Gerät erhalten wurde, nicht GPS oder app-basierte Standortangabe. Anfragen ohne einen gültigen Landkreis löschen nicht den letzten gültigen Wert. Capgo aktualisiert diese Metadaten, wenn die App sich meldet, aber wiederholte Meldungen, die die gleichen Metadaten melden, ändern möglicherweise nicht die Zeile oder ihren letzten Update-Zeitpunkt.

MAU zählt unterschiedliche aktive Geräte während der Abrechnungszeit. Diese Aktivität kann sogar zunehmen, wenn das Gerätemetadaten gleich bleibt, sodass die Geräteanzahl und MAU unterschiedlich sein können.

Sie können für jedes Gerätetyp ein Kanal erstellen und in jedem Kanal spezifische Updates deaktivieren.

Bei dem iOS-Kanal Updates für Android deaktivieren und bei dem Android-Kanal Updates für iOS deaktivieren.

Uploaden Sie dann ein Bundle für jeden Kanal, um unterschiedliche Updates für jedes Gerät durchzuführen.

Wenn Sie das gleiche Update für beide Gerätetypen benötigen, können Sie ein Bundle mit mehreren Kanälen verbinden. Es ist nicht notwendig, das Bundle zu duplizieren.

Wenn Sie Capgo verwenden FAQ um live update Lieferung zu planen, verbinden Sie es mit Capgo Live Updates um Capgo Live Updates für das Produktworkflow Übersicht für die Implementierungsdetails in der Übersicht Funktionen für die Implementierungsdetails in Features, Updateverhalten um __CAPGO_KEEP_0__ Live Updates für die Implementierungsdetails Updatearten um __CAPGO_KEEP_0__ Live Updates für die Implementierungsdetails