FAQ
Kopieren Sie einen Einrichtungsbefehl mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin.
Wenn Sie Fragen haben, die hier nicht beantwortet werden, bitten Sie bitte um Hilfe! Beide das Einlegen eines Issues oder das Fragen auf Discord Arbeitszeit.
Was ist „code push“?
Abschnitt mit dem Titel „Was ist „code push“?“Code push, auch als „over-the-air-Updates“ (OTA) bezeichnet, ist ein Cloud-Dienst, der Capacitor Entwicklern ermöglicht, Updates für ihre Apps in der Produktion bereitzustellen. Capgo unterstützt derzeit Android, iOS und Electron.
„Code Push“ ist eine Referenz auf den Namen einer Bereitstellungsfeature, das von der React Native Community verwendet wird, Microsoft und Expo, weder von denen unterstützt Capacitor.
Was ist der Unterschied zwischen einem Bundle und einer Release?
Abschnitt mit dem Titel „Was ist der Unterschied zwischen einem Bundle und einer Release?“Wir verwenden den Begriff „Release“ für die Vorbereitung eines Binärs für die App-Stores. Um später ein Bundle zu generieren, muss Capgo wissen, welches genaue Binär zum App-Stores verschickt wurde.
Wir verwenden den Begriff „Bundle“ für eine Patch-Datei, die auf ein Release angewendet werden kann, um es 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 verschickt wird.
Was ist die Roadmap?
Abschnitt mit dem Titel „Was ist die Roadmap?“Unsere Projektboards sind auch öffentlich und finden Sie sie unter: https://github.com/orgs/Cap-go/projects
Unser Team arbeitet auch öffentlich, sodass Sie sehen können, was wir gerade bearbeiten. Wir freuen uns darauf, Ihre Fragen zu unserer Roadmap oder Prioritäten über Github-Issues oder Discord.
Kann ich Capgo mit meiner Team verwenden?
Kann ich Capgo mit meiner Mannschaft verwenden?Ja! Alle Pläne unterstützen unbegrenzte Entwickler. Wir beschränken nur die Anwendungsdaten (MAU, Speicher und Bandbreite) auf jede Organisation.
Siehe Teams für weitere Informationen.
Speichert Capgo meinen Quellcode code?
Sektion überschrieben “Speichert Capgo meinen Quellcode code?”Nein. Capgo-Server sehen nie deinen Quellcode code. Wenn du npx @capgo/cli@latest bundle upload, Capgo stores a zip file of the minified/compiled code - the same code that a browser would receive, not your source code.
__CAPGO_KEEP_0__ speichert ein Zip-Datei des minifizierten/von der Kompilierung __CAPGO_KEEP_1__ - das gleiche __CAPGO_KEEP_2__ wie ein Browser empfängt, nicht deinen Quellcode __CAPGO_KEEP_3__.
- Für zusätzliche Sicherheit hast du zwei Optionen:: Verschlüsseln Sie Ihr Bundle, bevor Sie es hochladen, um es in der Speicherung und im Transit zu schützen und um dritte Parteien zu verhindern, dass sie gültig verschlüsselte Updates ohne Ihre private Schlüssel erstellen können. Dies macht die in der Verteilung befindliche App jedoch nicht unmöglich zu reverse engineer, da der öffentliche Schlüssel in der verteilten App vorhanden ist.
- Externes URL-Hochladen: 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/privacy
Sind Bundle-Dateien private Daten?
Abschnitt mit dem Titel „Sind Bundle-Dateien private Daten?“Nein. Bundle-Dateien sind öffentliche Web-Assets, die von Ihren App-Benutzern heruntergeladen werden sollen. Jeder, der die 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 die in der Verteilung befindliche App code und die Assets immer noch als öffentlich aus Sicherheitsberichterstattungsperspektive.
Kann ich Capgo aus meinem CI-System verwenden?
Kann ich Capgo aus meinem CI-System verwenden?Ja. Capgo ist für die Verwendung aus CI-Systemen vorgesehen. Wir haben eine Anleitung für Android und Github Actions und iOS, und für GitLab. Andere CI-Systeme sollten ähnlich sein.
Bitte zögern Sie nicht, sich bei GitHub-Problemen oder bei Discord bei Problemen zu melden.
Wie steht es zu Firebase Remote Config oder Launch Darkly?
Wie steht es zu Firebase Remote Config oder Launch Darkly?Code push allows adding new code / replacing code on the device. Firebase Remote Config and Launch Darkly are both configuration systems. They allow you to change the configuration of your app without having to ship a new version. They are not intended to replace code.
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ätsanliegen wird. Wenn Größe ein Blockierer für Sie ist, bitten wir Sie, uns Bescheid zu geben!
Funktioniert Capgo auf dem iOS 18.4 Simulator?
Abschnitt mit dem Titel „Funktionsfähigkeit von Capgo auf dem iOS 18.4 Simulator?“Nein. Aufgrund eines von oben gesteuerten Problems, das den iOS 18.4 Simulator betrifft, läuft Capgo dort nicht zuverlässig. Bitte testen Sie auf einem echten Gerät oder verwenden Sie eine andere iOS-Simulator-Version.
Siehe Details im React Native Issue: facebook/react-native#50510
Funktioniert code push mit großen Anwendungen?
Abschnitt mit Titel “Funktioniert code push mit großen Anwendungen?”Ja. Es gibt keine Grenze für die Größe der Anwendung, die mit code push aktualisiert werden kann. Wie im Folgenden angegeben, kann __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ jede JS __CAPGO_KEEP_1__ in Ihrer Anwendung ändern, unabhängig von der Größe., Capgo can change any JS code in your application regardless of size.
Wofür kann ich __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ push verwenden?
Direkter Link zu Frage: Wofür kann ich Capgo code push verwenden?
Section titled “What can I use Capgo code push for?”Notfallkorrekturen für Produktionsanwendungen.
- Versand von Bugfixes an Benutzer älterer Versionen Ihrer App.
- Abschnitt mit Titel “Notfallkorrekturen für Produktionsanwendungen.”
- Ständig liefern (z.B. alle Stunde).
Hinweis: Die meisten App-Stores verbieten die Lieferung von code , die das Verhalten der App in einem wesentlichen Umfang ändert. Bitte sehen Sie unten für weitere Informationen.
Was zählt als „MAU“ für Capgo?
Abschnitt mit dem Titel „Was zählt als „MAU“ für Capgo?“Ein MAU ist ein „Monatlich Aktiver Benutzer“. Im Kontext von Capgo bezieht sich dies jedoch auf einen Monatlich Aktiven Gerät. Wir zählen einen MAU als jedes Gerät, das unsere Server in den letzten 30 Tagen kontaktiert hat. Wir zählen keine Geräte, die unsere Server in den letzten 30 Tagen nicht kontaktiert haben.
Wichtig: Ab Plugin-Version v5.10.0, v6.25.0 und v7.25.0, der Geräte-ID bleibt nun bei App-Wiederherstellungen bestehen. Vor diesen Versionen würde bei jedem App-Wiederherstellen eine neue Geräte-ID generiert und als neue MAU gezählt.
Mit den aktuellen Versionen:
- Die Geräte-ID bleibt bei App-Wiederherstellungen bestehen (wird sicher im Keychain auf iOS und in verschlüsselten SharedPreferences auf Android gespeichert)
- Ein Update der App erzeugt keine neue Geräte-ID
- Während der Entwicklung, wenn Sie ältere Plugin-Versionen verwenden (< v5.10.0 / v6.25.0 / v7.25.0), wird bei jedem Wiederherstellen noch immer eine neue MAU erzeugt
Hinweis: TestFlight-Downloads und Kanalwechsel in Android können je nach Konfiguration noch neue Geräteanmeldungen erzeugen.
Wir empfehlen, nach der ersten Einrichtung, die Entwickler-Geräte und Emulatoren zu deaktivieren, um die Anzahl der duplizierten Geräte zu reduzieren.
Was können wir nicht mit Capgo code push verwenden?
Abschnitt mit dem Titel „Was können wir nicht mit Capgo code push verwenden?“Wie oben, Capgo sollte nicht verwendet werden, um die App-Store-Richtlinien zu verletzen. Bitte sehen Sie unten für weitere Informationen.
Außerdem unterstützt Capgo keine Änderungen an nativen code (z.B. Java/Kotlin auf Android oder Objective-C/Swift auf iOS). Das Tool wird Sie während eines versuchten Updates warnen, wenn Sie native code geändert haben.
Kann ich capacitor.config.ts-Änderungen über Capgo aktualisieren?
Abschnitt mit dem Titel “Kann ich capacitor.config.ts-Änderungen über Capgo aktualisieren?”Nein. Änderungen an capacitor.config.ts können nicht über Capgo-Live-Updates gesendet werden. Die Capacitor-Konfigurationsdatei wird bei der nativen Buildzeit gelesen und in die native App-Binary kompiliert. Dies bedeutet, dass Änderungen an capacitor.config.ts (wie z.B. Plugin-Konfigurationen, App-ID, Server-Einstellungen oder native Plugin-Optionen) eine neue native Veröffentlichung über den App Store oder Google Play erfordern.
Capgo kann nur Web-Assets (HTML, CSS, JavaScript) aktualisieren, die bei der Laufzeit geladen werden. Wenn Sie Ihre Capacitor-Konfiguration ändern müssen, müssen Sie:
- Aktualisieren
capacitor.config.tsortsweise - Rebuilden Sie Ihre native App (
npx cap syncgefolgt von einer native Build) - Melden Sie das neue Binärdatei bei den App-Stores
Meldet Capgo die App-Stores für mich an?
Abschnitt mit dem Titel “Meldet Capgo die App-Stores für mich an?”Capgo unterstützt derzeit nicht die Meldung an die App-Stores auf Ihre Rechnung. Wir haben Pläne, dies in Zukunft hinzuzufügen, aber für den Moment müssen Sie weiterhin Ihre bestehenden Prozesse verwenden, um bei den App-Stores zu melden.
Sie können unsere CI-Leitfaden Android um dieses Prozess zu automatisieren und CI-Leitfaden iOS.
What speichert Capgo auf der Festplatte und wo?
Abschnitt mit dem Titel „What speichert Capgo auf der Festplatte und wo?“Der Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihr App bauen) cachet die neueste heruntergeladene Bundle im einzigen Verzeichnis, das capacitor erlaubt, code zu laden. Auf Android-Geräten befindet sich dies in /data/user/0/com.example.app/code_cache/capgo_updater obwohl der Basispfad dieses Pfades vom 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 upload) werden auf der Festplatte in npm-Caches installiert, Ihre Anmeludaten werden in Ihrem Home-Verzeichnis in ~/.capgo.
Wie steht dies im Zusammenhang mit Capacitor Hot Reload?
Abschnitt mit dem Titel „Wie steht dies im Zusammenhang mit Capacitor Hot Reload?“Capacitor‘s Hot reload ist eine Entwicklungzeit-Funktion. Code ist für die Produktion gedacht.
Hot reload is a feature of Capacitor that allows you to change code on the device during development. It requires building the Capacitor app with a proxy to connect to your local machine.
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.
Welche Arten von Änderungen unterstützt Capgo code Push?
Abschnitt mit dem Titel „Welche Arten von Änderungen unterstützt Capgo code Push?“Capgo kann jede JS code in Ihrer Anwendung ändern. Dies umfasst Anwendungs code und generierte code. Sie können auch Abhängigkeiten aktualisieren, 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 das Tool wird Sie warnen, wenn es feststellt, dass Sie native code-Änderungen vorgenommen haben, da diese nicht in der Bundle enthalten sind.
Unterstützt dies Web?
Abschnitt mit dem Titel „Unterstützt dies Web?“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 herunter, wenn erforderlich.
Wenn Sie ein Use Case 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 in der Produktion auf allen drei bereit.
Welche Betriebssystemversionen unterstützt Capgo?
Abschnitt mit dem Titel “Welche Betriebssystemversionen unterstützt Capgo?”Capgo unterstützt die gleichen Versionen von Android wie Capacitor.
Capacitor unterstützt derzeit Android API-Level 22+ und iOS 13.0+: https://capacitorjs.com/docs/main/reference/support-policy
Welche Versionen von Capacitor unterstützt Capgo?
Abschnitt mit dem Titel „Welche Versionen von Capacitor unterstützt Capgo?“Capgo unterstützt derzeit nur die letzten stabilen Versionen von Capacitor. Wir könnten auch ältere Versionen von Capacitor unterstützen, wir haben es nur noch nicht gebaut, um solche Versionen im Laufe der Zeit zu pflegen. Wir beabsichtigen, in Zukunft mehr Versionen von Capacitor zu unterstützen, einschließlich jeder Version für unsere Unternehmenskunden. 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 nur ein paar Minuten. Wir führen dann einen zusätzlichen manuellen Überprüfungsprozess durch, bevor wir unsere Server 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?“Entwickler sind an ihren Vereinbarungen mit den Anbieter von App-Stores gebunden, wenn sie sich für diese Stores entscheiden. Code push ist konzipiert, um Entwicklern zu ermöglichen, ihre Apps zu aktualisieren und gleichzeitig die Richtlinien der App-Stores auf iOS, Android und Electron-Delivery-Kanälen einzuhalten. Ähnlich wie bei den verschiedenen kommerziellen Produkten, die es gibt, um dies mit React Native zu tun (z.B. Microsoft, Expo).
Microsoft veröffentlicht auch eine Anleitung, wie ihre Lösung mit den App-Stores kompatibel ist: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Code push ist eine weit verbreitete Technik in den App-Stores. Alle großen Apps, die ich kenne, verwenden code push. Die wichtigste Richtlinie, die man beachten sollte, ist, dass man das Verhalten der App nicht in einem wesentlichen Umfang ändert. Bitte siehe unten für weitere Informationen.
Kommt Capgo mit den Richtlinien des Play Stores überein?
Abschnitt mit dem Titel „Kommt Capgo mit den Richtlinien des Play Stores überein?“Ja.
Der Play Store bietet zwei Einschränkungen in Bezug auf Update-Tools.
- Updates müssen einen Interpreter oder eine virtuelle Maschine verwenden (Capgo verwendet JavaScript in einem WebView). https://support.google.com/googleplay/android-developer/answer/9888379?hl=en
An app distributed via Google Play may not modify, replace, or update itself using any method other than Google Play's update mechanism. Likewise, an app may not download executable code (such as dex, JAR, .so files) from a source other than Google Play. *This restriction does not apply to code that runs in a virtual machine or an interpreter* where either provides indirect access to Android APIs (such as JavaScript in a webview or browser).
Apps or third-party code, like SDKs, with interpreted languages (JavaScript, Python, Lua, etc.) loaded at run time (for example, not packaged with the app) must not allow potential violations of Google Play policies.- Änderungen an der App dürfen nicht täuschend sein (z.B. Änderung des Zwecks der App über eine Aktualisierung). https://support.google.com/googleplay/android-developer/answer/9888077 Bitte seien Sie bei Ihren Benutzern offen über das, was Sie mit Ihrer Anwendung bereitstellen und vermeiden Sie es, ihre Erwartungen durch bedeutende Verhaltensänderungen über die Verwendung von Capgo zu verletzen.
Capgo ist für die Kompatibilität mit den Richtlinien des Play Stores konzipiert. Capgo ist jedoch ein Werkzeug und kann wie jedes Werkzeug missbraucht werden. Vorsätzlich Capgo zu missbrauchen, um die Richtlinien des Play Stores zu verletzen, ist gegen die Capgo verstoßen. Nutzungsbedingungen und kann zu der Beendigung Ihres Kontos führen.
Schließlich werden code-Push-Dienste in der Industrie weit verbreitet verwendet (alle großen Apps, die ich kenne, verwenden sie) und es gibt mehrere andere code-Push-Dienste, die öffentlich verfügbar sind (z.B. expo.dev und appcenter.ms). Dies ist ein gut befahrener Weg.
Microsoft veröffentlicht auch eine Anleitung, wie ihre React Native-Bibliothek „codepush“ mit den App-Stores kompatibel ist: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Kommt Capgo mit den Richtlinien des App Stores überein?
Abschnitt mit dem Titel „Kommt Capgo mit den Richtlinien des App Stores überein?“Yes.
Ähnlich wie die Google Play Store bietet die App Store sowohl technische als auch politische Einschränkungen.
3.2.2... interpreted code may be downloaded to an Application but only so long assuch code:(a) does not change the primary purpose of the Application by providingfeatures or functionality that are inconsistent with the intended andadvertised purpose of the Application as submitted to the App Store,(b) does not create a store or storefront for other code or applications, and(c) does not bypass signing, sandbox, or other security features of the OS.Capgo verwendet JavaScript in einem WebView, um sich an die Einschränkung für Updates auf iOS anzupassen. Sofern Ihr Anwendungsprogramm nicht durch Updates irreführende Verhaltensweisen an den Tag legt (z.B. Änderung des Zwecks des Apps über Updates), ist das Aktualisieren über Capgo (oder jede andere code-Push-Lösung) Standardpraxis und entspricht den Richtlinien der App Store.
Absichtlich Capgo missbrauchen, um die Richtlinien der App Store zu verletzen, ist eine Verletzung der Capgo Nutzungsbedingungen und kann zu einer Kündigung Ihres Kontos führen.
Microsoft veröffentlicht auch eine Anleitung, wie ihre React Native „codepush“-Bibliothek sich an die Richtlinien der App Stores hält: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Kann ich Capgo in meinem Land verwenden?
Sektion mit dem Titel „Kann ich Capgo in meinem Land verwenden?“We haben versucht, keinen Zugriff auf Capgo von keinem Land einzuschränken.
Wir erkennen an, dass einige Länder Einschränkungen auf die von innerhalb des Landes zugreifbaren URLs haben. Capgo verwendet derzeit Cloudflare Cloud für die Hosting, einschließlich R2 Storage und Cloudflare Arbeiter.
Die folgenden URLs werden von Capgo verwendet:
- https://api.capgo.app — verwendet von der
npx @capgo/cliKommandozeilen-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 der
npx @capgo/cliKommandozeilen-Tool, um und herunterzuladen Bundle
Wenn alle dieser URLs von Ihrem Land zugänglich sind, dann sollte Capgo funktionieren.
Wenn Ihr Gebiet den Zugriff auf jede dieser URLs einschränken muss, bitten wir Sie, uns Bescheid zu geben und wir können gemeinsam eine Lösung finden. Proxy-Server sind eine Option.
Kann ich Capgo selbst hosten?
Abschnitt mit dem Titel „Kann ich Capgo selbst hosten?“Ja, Sie können Capgo selbst hosten. Die Anleitung ist noch nicht geschrieben, aber der code ist Open-Source und steht auf https://github.com/cap-go/capgo
Benötigt code-Push die Internetverbindung, um zu funktionieren?
Abschnitt mit dem Titel „Benötigt code-Push die Internetverbindung, um zu funktionieren?“Ja. Man könnte sich vorstellen, einen Server zu betreiben, um die Updates separat von der allgemeinen Internetverbindung zu verteilen, aber eine Form der Netzwerkverbindung ist erforderlich, um die Updates an die Geräte zu transportieren.
Wie wird Capgo durch den Mangel an Netzwerkverbindung beeinflusst?
Abschnitt mit dem Titel „Wie wird Capgo durch den Mangel an Netzwerkverbindung beeinflusst?“Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihre App mit Capgo bauen) ist für Netzwerkverbindungsprobleme resilient.
In der Standardaktualisierungsverhalten, wenn die Anwendung gestartet wird, benachrichtigt sie den Capgo-Updater, der einen separaten Thread startet, um eine Netzwerkanfrage an Capgo's Server zu stellen und nach einer Aktualisierung zu fragen. Wir verwenden absichtlich einen separaten Thread, um sicherzustellen, dass nichts anderes im Laufe der Anwendung blockiert wird. Wenn die Netzwerkanfrage fehlschlägt oder abläuft, wird der Updater einfach wieder versuchen, zu überprüfen, wenn die Anwendung das nächste Mal gestartet wird.
Capgo-Befehlszeilenwerkzeuge (z.B. npx @capgo/cli@latest bundle upload) benötigen eine Netzwerkverbindung, um zu funktionieren. Wenn Sie Capgo verwenden, um Ihre App zu verteilen, 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 also ein Benutzer eine Weile nicht aktualisiert, wird er „intermediate Updates“ verpassen.
Der Update-Server könnte so konfiguriert werden, dass er entweder die nächste inkrementelle Version oder die neueste Version je nach Bedarf der Anwendung antwortet. Bitte lassen Sie uns wissen, wenn alternative Aktualisierungsverhaltensweisen für Sie wichtig sind.
Wie steht es um Capgo in Bezug auf Capacitor?
Abschnitt mit dem Titel „Wie steht es um Capgo in Bezug auf Capacitor?“Capgo ist ein Plugin für Capacitor, das code-Push hinzufügt. Capgo ist keine Ersatzlösung für Capacitor. Sie können weiterhin die Capacitor-Tooling verwenden, die Sie bereits kennen und lieben.
Wir verfolgen die neueste stabile Version von Capacitor und aktualisieren unser code-Push-Plugin, um mit ihr zu funktionieren.
Wann passieren Updates auf?
Abschnitt mit dem Titel „Wann passieren Updates auf?“Standardmäßig überprüft der Capgo-Updater bei der App-Startzeit auf Updates. Er 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 über die @capgo/capacitor-updater Package auszuführen, über die es möglich ist, Updates zu jeder Zeit auszulösen, 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 weiterhin normal läuft. Sollten Sie sich entscheiden, ein Update von unseren Servern zu löschen, werden alle Ihre Clients weiterhin normal laufen.
Wir haben die Möglichkeit hinzugefügt, Patches rückgängig zu machen. Das Einfachste ist, einfach eine vorherige Bundle zu Ihrem Kanal anzuhängen, um es rückgängig zu machen.
Muss ich mein app_id-Secret aufbewahren?
Soll ich mein app_id geheim halten?Nein. Das app_id wird in Ihrer App enthalten und ist es sicher, öffentlich zu machen. Sie können es in die Versionskontrolle einchecken (auch öffentlich) und sich keine Sorgen machen, dass jemand anderes darauf zugreifen kann.
Jemand, der Ihren app_id kann die neueste Version Ihrer App von Capgo-Servern abrufen, aber er kann keine Updates an Ihrer App pushen oder auf andere Aspekte Ihres Capgo-Accounts zugreifen.
Welche Informationen werden an Capgo-Servern gesendet?
Abschnitt mit dem Titel “Welche Informationen werden an Capgo-Servern gesendet?”Obwohl Capgo mit dem Netzwerk verbunden ist, sendet es keine persönlichen Identifikationsinformationen. Die Einbindung von Capgo sollte Ihre Erklärungen für den Play Store oder App Store nicht beeinflussen.
Anfragen, die vom App an Capgo-Servern gesendet werden, umfassen:
- app_id (spezifiziert
capacitor.config.json) - Kanal (optional in
capacitor.config.json) - Releaseversion (versionName aus AndroidManifest.xml oder CFBundleShortVersionString aus Info.plist oder
capacitor.config.jsonWenn inCapacitorUpdater.version) - Versionsnummer (als Teil von
npx @capgo/cli@latest bundle upload) - Betriebssystemversion (z.B. ‘11.2.1’)
- platform (e.g. ‘android’, needed to send down the right patch) That’s it. The code for this is in
updater/library/src/network.rs - Das ist alles. Der __CAPGO_KEEP_0__ für dies ist in
- Geräte-ID (erstellt auf dem Gerät bei der ersten Ausführung, zum Entfernen von Duplikaten pro Gerät und zur Abrechnung auf Basis der installierten Geräte (z.B. monatlich aktive Geräte) und nicht auf Basis der Patches oder der Gesamtzahl der Patches)
Can I use Capgo for HIPAA-sensitive apps?
Direkter Link zu ‘Kann ich Capgo für Apps mit HIPAA-Sensibilität verwenden?’Abschnitt mit dem Titel ‘Kann ich Capgo für Apps mit HIPAA-Sensibilität verwenden?’
Ja, aber Ihr Compliance-Besitzer muss die richtige Bereitstellungsstrategie wählen. __CAPGO_KEEP_0__ Cloud wird derzeit nicht als HIPAA-konformes gehostetes Statistikverarbeitungsmodell vorgestellt. Standardmäßig ist die Updater-Daten auf Geräteebene skaliert und nicht an einen bekannten App-Benutzer gebunden, und viele Teams verwenden diesen Modus erfolgreich. Für strengere Überprüfungen können Sie den Plugin-Verkehr geo-lokalisieren, die Statistikfunktion durch die Einstellung deaktivieren statsUrl zur leeren Zeichenfolge, hosten Sie nur die Statistik-Endpunkt selbst oder nutzen Sie die lizenzierte Selbstverwaltung. Rufen Sie CapacitorUpdater.setCustomId(...) nicht mit einer E-Mail, Benutzer-ID, Patienten-ID, Mitarbeiter-ID oder einem Wert auf, der die Telemetrie des Updaters auf eine Person zurückmappen lässt.
Siehe HIPAA-Kompatibilität für die vollständige technische Einrichtung und die Beobachtbarkeitstransaktionen, wenn die Statistiken deaktiviert sind.
Kann ich Capgo Live-Update-Daten in Europa behalten?
Abschnitt mit dem Titel “Kann ich Capgo Live-Update-Daten in Europa behalten?”Ja. Apps, die für die Capgo Cloud-Plugin-Verkehr in der EU eine Datenresidenz benötigen, können die Updater-Endpunkte auf den EU-Host setzen:
updateUrl:https://plugin.eu.capgo.app/updatesstatsUrl:https://plugin.eu.capgo.app/statschannelUrl:https://plugin.eu.capgo.app/channel_self
Verwenden Sie alle drei EU-URLs gemeinsam, damit Überprüfungen, Statistiken und Kanalzuweisungen den gleichen regionalen Datenpfad verwenden. Diese Werte leben in capacitor.config.ts, Produktionsmobilanwendungen benötigen eine native Veröffentlichung, bevor bestehende Installationen die neuen Endpunkte verwenden.
Siehe Datenstandort für genaue Capacitor und Electron-Beispiele.
Welche Plattformen unterstützt Capgo?
Abschnitt mit dem Titel „Welche Plattformen unterstützt Capgo?“Derzeit 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ängige Entscheidungen sein. Sie können Ihre Kanalstrategie für Android und eine IPA für den App Store, oder Electron-Kanäle, so anpassen, wie erforderlich.
Capgo kann (relativ leicht) so konfiguriert werden, dass Desktop- oder eingebettete 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 es Drittanbietern, zu erkennen, wenn Apps in einer bestimmten Test-Track oder über TestFlight installiert werden. 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/questions/53291007/can-an-android-application-identify-the-test-track-within-google-play https://stackoverflow.com/questions/26081543/how-to-tell-at-runtime-whether-an-ios-app-is-running-through-a-testflight-beta-i
Wenn Sie die Verfügbarkeit von Capgo-Bundle segmentieren möchten, gibt es 4 potenzielle Optionen:
- Eine separate Kanal für jede Gruppe verwenden. Dies ist der direkteste Ansatz, erfordert jedoch die Verwaltung mehrerer Kanäle. Sie können bereits Dev-Kanäle und Prod-Kanäle mit unterschiedlicher Verfügbarkeit haben. Sie können also Ihre Dev-Kanäle aktualisieren, überprüfen und dann separat Ihre Prod-Kanäle aktualisieren. Wir empfehlen die Verwendung von Branches / Tags in Ihrem Versionskontrolle, um Ihnen dabei zu helfen, die Quellen zu verfolgen, die mit jedem Release verbunden sind.
- Ihre eigenen opt-in-Nutzer verfolgen, automatische Updates deaktivieren und Updates nur für bestimmte Benutzer über die
@capgo/capacitor-updaterPackage auslösen. Dies funktioniert heute, erfordert jedoch die Verwaltung Ihrer eigenen opt-in-Liste. - Capgo ermöglicht die Erstellung eigener opt-in-Mechanismen auf Geräteebene (ähnlich wie Test-Tracks oder TestFlight, nur plattformübergreifend). Dies ermöglicht es Ihrem QA-Team, das Bundle vor der Veröffentlichung für die breite Öffentlichkeit zu aktivieren.
- Capgo haben percentage basierte Rollouts. Dies ermöglicht es Ihnen nicht, bestimmte Geräte auszuwählen, aber kann Ihnen helfen, schrittweise auszurollen und bei jedem Problem zurückzukehren.
Wie kann ich mein Abonnement upgraden oder downgraden?
Abschnitt mit dem Titel „Wie kann ich mein Abonnement upgraden oder downgraden?”Sie können Ihr Abonnement jederzeit in Ihrem Dashboard upgraden oder downgraden: https://console.capgo.app/einstellungen/organisation/abonnements
Wann wird mein Rechnungszeitraum neu gesetzt?
Abschnitt mit dem Titel „Wann wird mein Rechnungszeitraum neu gesetzt?”Die Abrechnungsperioden werden automatisch jeden Monat auf den Monat neu gesetzt, an dem Sie sich zum ersten Mal angemeldet haben Capgo. Zum Beispiel, wenn Sie sich am 15. des Monats angemeldet haben, wird Ihre Abrechnungsperiode am 15. jeden Monats neu gesetzt.
Wie kann ich meine Abonnement kündigen?
Abschnitt mit dem Titel „Wie kann ich meine Abonnement kündigen?“Sie können Ihr Abonnement jederzeit in Ihrem Dashboard kündigen: https://console.capgo.app/settings/organization/plans
Kann ich ein Jahr im Voraus bezahlen?
Abschnitt mit dem Titel „Kann ich ein Jahr im Voraus bezahlen?“Ja, Sie können es jederzeit in Ihrem Dashboard tun: https://console.capgo.app/settings/organization/plans
Statistiken und Analysen
Abschnitt mit dem Titel „Statistiken und Analysen”Die Statistiken in Ihrem Dashboard werden alle Nacht UTC aktualisiert. Die Statistiken werden auf der Grundlage der Anzahl der MAU die auf Ihren Geräten installiert wurden.
Wie wird der Geräte-ID generiert
Abschnitt mit dem Titel „Wie wird die Geräte-ID generiert“Die Geräte-ID wird auf dem Gerät bei der ersten Ausführung generiert und wird verwendet, um Duplikate pro Gerät zu vermeiden und es uns zu ermöglichen, auf der Grundlage der von den Benutzern installierten Geräte zu berechnen (z.B. monatlich aktive Benutzer), anstatt auf die Gesamtzahl der Patches oder die Gesamtzahl der Patches-Installationen.
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 (Aktualisiert in v6.25.0 und v7.25.0):
- aktuelles Verhalten: Die Geräte-ID wird jetzt bei App-Wiederinstallierungen persistiert. Sie wird sicher im Geräteschlüssel (iOS) oder in den verschlüsselten SharedPreferences (Android) gespeichert, sodass wir das gleiche Gerät auch nach dem Entfernen/Neuinstallieren verfolgen können.
- Vorheriges Verhalten (vor v6.25.0/v7.25.0): Aus Gründen der Datenschutzrichtlinien von Apple und Google wurde die Geräte-ID bei jeder App-Wiederinstallation zurückgesetzt, was es unmöglich machte, das gleiche Gerät über Wiederinstallierungen zu verfolgen.
Die Datenschutzregeln werden von Apple und Google durchgesetzt, und Capgo’s Implementierung entspricht ihren besten Praktiken für die Geräteidentifizierung.
Die Geräte-ID wird nicht in Ihrer Geräteliste aufgeführt, bis sie ihre erste Aktualisierung erhalten haben.
Wieso ist meine Gerätenummer anders als meine MAU?
Abschnitt mit dem Titel „Wieso ist meine Gerätenummer anders als meine MAU?“Derzeit wird die Geräteliste nicht so häufig aktualisiert wie die MAU.
Die Geräteliste wird nur aktualisiert, wenn ein Gerät eine Aktualisierung installiert.
Während die MAU bei jedem App-Start aktualisiert wird. Dies ist derzeit eine Einschränkung der Plattform. Unsere Analytics-Plattform unterstützt keine Rohaktualisierungen, daher verwenden wir eine konventionelle Datenbank für die Geräteliste.
Um die Anzahl der Datenbankabfragen zu begrenzen, aktualisieren wir nur die Zeile, wenn die App aktualisiert wird.
Diese Einschränkung wird in Zukunft entfernt.
Wie kann man unterschiedliche Updates pro Plattform haben?
Abschnitt mit dem Titel “Wie kann man unterschiedliche Updates pro Plattform haben?”Sie können für jede Plattform einen Kanal erstellen und in jedem Kanal die plattformspezifischen Updates deaktivieren.
Auf dem iOS-Kanal die Updates für Android deaktivieren und auf dem Android-Kanal die Updates für iOS deaktivieren.
Dann laden Sie ein Bundle in jeden Kanal hoch, um unterschiedliche Updates für jede Plattform zu haben.
Wenn Sie das gleiche Update für beide Plattformen benötigen, können Sie ein Bundle auf mehrere Kanäle verlinken. Es ist nicht notwendig, das Bundle zu duplizieren.
Weiter geht es aus der FAQ
Abschnitt mit dem Titel “Weiter geht es aus der FAQ”Wenn Sie Capgo verwenden FAQ um es mit Capgo Live Updates für den Produktworkflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Übersicht, Funktionen für die Implementierungsdetails in Funktionen, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, und Aktualisierungstypen für die Implementierungsdetails in Aktualisierungstypen.