FAQ
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline 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 Arbeit.
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 zu deployen. Capgo funktioniert derzeit auf Android, iOS und Electron.
„Code Push“ ist eine Referenz auf den Namen einer Bereitstellungsfeature, das von der React Native Community verwendet wird, Microsoft und Expokeine davon unterstützen Capacitor.
Was ist der Unterschied zwischen einem Bundle und einer Veröffentlichung?
Abschnitt mit dem Titel „Was ist der Unterschied zwischen einer Sammlung 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 eine Sammlung Capgo zu generieren, muss Capgo wissen, welches genaue Binär für die App-Stores verschickt wurde.
Wir verwenden den Begriff „Sammlung“ für eine Patches, die auf eine Veröffentlichung angewendet werden können, um sie auf neue code zu aktualisieren. npx @capgo/cli@latest bundle upload Der Befehl wird verwendet, um eine Sammlung aus Ihrem neuen lokalen code zu generieren, die 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?
Abschnitt mit dem Titel “Can I use Capgo mit meiner Mannschaft?”Ja! Alle Pläne unterstützen unbegrenzte Entwickler. Wir limitieren nur die Anwendungsdaten (MAU, Speicher und Bandbreite) für jede Organisation.
Weiter Teams Weitere Informationen finden Sie unter
Speichert Capgo meine Quelldatei code?
Abschnitt mit dem Titel “Speichert Capgo meine Quelldatei code?”Nein. Capgo-Server sehen nie deine Quelldatei code. Wenn du npx @capgo/cli@latest bundle upload Capgo speichert eine Zip-Datei des minifizierten/verkompilierten code - das gleiche code wie ein Browser, nicht deine Quelldatei code.
Für zusätzliche Sicherheit haben Sie zwei Optionen:
- End-to-End-Verschlüsselung: Verschlüsseln Sie Ihr Bundle, bevor Sie es hochladen, um es in der Speicherung und im Transit zu schützen und um es dritten Parteien ohne Ihre private Schlüssel unmöglich zu machen, gültig verschlüsselte Updates zu generieren. Dies macht die in der verteilt Anwendung befindliche öffentliche Schlüssel jedoch nicht die Umkehrung der in der Anwendung verteilt Web-Assets unmöglich.
- Außerhalb der Website-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
Sind Bundle-Dateien private Daten?
Kein. 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_KEEP_0__ 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 Ihrem App-Bundle ein. Wenn Sie für hochsichere Anwendungsfälle stärkere Vertraulichkeit benötigen, verwenden Sie die End-to-End-Verschlüsselung, aber behandeln Sie die in der Anwendung verteilt Capgo und Assets immer noch als öffentlich aus Sicherheitsberichtsperspektive.
Kann ich code aus meinem CI-System verwenden?
Ja. Capgo ist dafür gedacht, von CI-Systemen verwendet zu werden. 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 Discord bei Problemen zu melden, wenn Sie Probleme auftreten.
Wie verhält sich dies zu Firebase Remote Config oder Launch Darkly?
Wie verhält sich das 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 Ihrer App ohne das Bereitstellen einer neuen Version zu ändern. Sie sind nicht dazu gedacht, 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 zu Capacitor Apps hinzufügt. Wir wissen von Möglichkeiten, wie wir dies kleiner machen können, wenn dies ein Prioritätsfall wird. Wenn Größe ein Blocker für Sie ist, lassen Sie es uns bitte wissen!
Funktioniert Capgo auf dem iOS 18.4 Simulator?
Abschnitt mit dem Titel „Funktioniert Capgo auf dem iOS 18.4 Simulator?“Nein. Aufgrund eines aufwärts gerichteten Problems, das den iOS 18.4 Simulator betrifft, funktioniert 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 dem 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 erwähnt, kann __CAPGO_KEEP_0__ Push 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.
Was kann ich mit __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ Push machen?
Direkter Link zu Was kann ich mit Capgo code Push machen?
Section titled “What can I use Capgo code push for?”Notfall-Reparaturen für Produktions-Apps.
- Abschnitt mit dem Titel „Notfall-Reparaturen für Produktions-Apps.“
- Versenden von Bugfixes an Benutzer mit älteren Versionen Ihrer App.
- Ständig versenden (z.B. alle Stunde).
Hinweis: Die meisten App-Stores verbieten das Versenden von code, das das Verhalten der App in einer wesentlichen Weise ändert. Bitte sehen Sie sich unten für weitere Informationen an.
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 jeden Gerät, das in den letzten 30 Tagen unsere Server kontaktiert hat. Wir zählen keine Geräte, die in den letzten 30 Tagen unsere Server nicht kontaktiert haben.
Wichtig: Ab Plugin-Version v5.10.0, v6.25.0 und v7.25.0, der GeräteID persistiert nun bei App-Wiederherstellungen. Vor diesen Versionen würde bei jedem App-Wiederherstellen eine neue GeräteID generiert und als neue MAU gezählt.
Mit den aktuellen Versionen:
- GeräteID persistiert bei App-Wiederherstellungen (sicher im Keychain auf iOS und in verschlüsselten SharedPreferences auf Android gespeichert)
- Eine App-Update erzeugt keine neue Geräte-ID
- Während der Entwicklung, wenn Sie eine ältere Plugin-Version verwenden (< v5.10.0 / v6.25.0 / v7.25.0), wird bei jedem Wiederherstellen noch 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 Entwicklergeräte und Emulatoren zu deaktivieren, um die Anzahl der duplizierten Geräte zu reduzieren.
Was können wir nicht mit Capgo code pushen?
Was dürfen wir nicht mit Capgo code pushen?Wie oben erwähnt, sollte Capgo nicht verwendet werden, um die Richtlinien der App-Stores zu verletzen. Bitte siehe unten für weitere Informationen. unten für mehr 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. Kurze Regel: Capgo kann den generierten Web-Build-Ordner, einschließlich HTML, CSS, JavaScript, Assets und reinen-JavaScript-Paket-Änderungen, die in diesem Output gebündelt sind, senden. Änderungen an capacitor.config.tsnativem Plugin-Konfiguration, nativen Paket-Installations- oder -Upgrades und alles, was eine native App-Veröffentlichung auf iOS oder Android erfordert. npx cap sync oder npx cap copy erfordert
Die Capacitor Konfigurationsdatei wird bei der nativen Buildzeit gelesen und in das native App-Binärdatei kompiliert. Wenn Sie Ihre Capacitor Konfiguration ändern müssen, müssen Sie:
- Aktualisieren
capacitor.config.tsortsweise - Ihre native App neu bauen (
npx cap syncgefolgt von einem nativen Build) - Die neue Binärdatei an die App-Stores übermitteln
Macht Capgo die Übermittlung an die Stores für mich?
Abschnitt mit dem Titel “Macht Capgo die Übermittlung an die Stores für mich?”Capgo unterstützt derzeit die Übermittlung an die App-Stores nicht auf Ihre Rechnung. Wir haben Pläne, dies in Zukunft hinzuzufügen, aber für jetzt müssen Sie weiterhin Ihre bestehenden Prozesse verwenden, um an die App-Stores zu übermitteln.
Sie können unser CI-Leitfaden Android um dieses Prozess automatisieren und CI-Leitfaden für iOS.
Was speichert Capgo auf dem Festplatte und wo?
Abschnitt mit dem Titel „Was speichert Capgo auf dem Festplatte und wo?“Der Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihr App bauen) speichert die neueste heruntergeladene Bundle im einzigen Verzeichnis, das capacitor erlaubt, code zu laden. Bei Android-Geräten befindet sich dies in /data/user/0/com.example.app/code_cache/capgo_updater obwohl der Basispfad von dem Android-System bereitgestellt wird und sich dynamisch bei Laufzeit ändern kann. Bei iOS-Geräten werden Daten unter Library/Application Support/capgo.
Die Capgo-Befehlszeilenwerkzeuge (z.B. npx @capgo/cli@latest bundle upload) auf der Festplatte in npm-Caches installiert, Ihre Anmeludaten werden in Ihrem Home-Verzeichnis in ~/.capgo.
Wie verhält sich dies zum Capacitor Hot Reload?
Abschnitt mit dem Titel „Wie verhält sich dies zum Capacitor Hot Reload?“Capacitor’s Hot reload ist eine Entwicklungszweck-für-Zweck-Funktion. Code push ist für die Produktion.
Hot reload ist eine Funktion von Capacitor , die Ihnen ermöglicht, code auf dem Gerät während der Entwicklung zu ändern. Es erfordert, dass die Capacitor-App mit einem Proxy erstellt wird, um mit Ihrem lokalen Computer zu verbinden.
Code push ist eine Funktion, die Ihnen ermöglicht, code auf dem Gerät in der Produktion zu ändern. Wir werden eine Vielzahl von verschiedenen 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 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 das Tool wird Sie warnen, wenn es feststellt, dass Sie native code-Änderungen vorgenommen haben, da sie nicht in der Bundle enthalten sein werden.
Unterstützt dies Web?
Abschnitt mit dem Titel „Unterstützt dies Web?“Code push ist für das Web nicht erforderlich, da das Web bereits auf diese Weise funktioniert. Wenn ein Benutzer eine Web-App öffnet, lädt es die neueste Version vom Server herunter, wenn erforderlich.
Wenn Sie einen 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 push ist auf allen drei Produktionsreif.
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 neuesten stabilen Releases 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 ein paar Minuten. Wir führen dann einen zusätzlichen manuellen Überprüfungs-Schritt durch, bevor wir auf 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 diese verwenden. 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-Canäle einzuhalten. Ähnlich wie bei der Vielzahl der kommerziellen Produkte, die dies ermöglichen, z.B. bei React Native (z.B. Microsoft) Microsoft, Expo).
Microsoft veröffentlicht auch eine Anleitung, wie ihre Lösung den Anforderungen der App-Stores entspricht: 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, auf die Sie achten sollten, besteht darin, nicht das Verhalten der App in einem wesentlichen Umfang zu ändern. Bitte sehen Sie unten weiter
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, was Sie mit Ihrer Anwendung bereitstellen und vermeiden Sie es, ihre Erwartungen durch bedeutende Verhaltensänderungen über den Einsatz von Capgo zu verletzen.
Capgo ist für die Kompatibilität mit den Richtlinien des Play Stores konzipiert. Allerdings ist Capgo ein Werkzeug und wie jedes Werkzeug kann es missbraucht werden. Absichtlich Capgo zu missbrauchen, um die Richtlinien des Play Stores zu verletzen, ist eine Verletzung der Capgo Nutzungsbedingungen und kann zu einer Beendigung Ihres Kontos führen.
Zum Schluss sind code-Push-Dienste weit verbreitet in der Industrie (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 Richtlinien der App Stores konform 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 „fragt Capgo den Richtlinien des App Stores entspricht?“Ja.
Ähnlich wie der Play Store bietet der 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 die Einschränkung für Updates auf iOS einzuhalten. Sofern Ihre Anwendung nicht durch Updates (z.B. durch Änderung des Zwecks der App) irreführend handelt, ist das Aktualisieren über Capgo (oder jede andere code-Push-Lösung) Standardpraxis und entspricht den Richtlinien des App Stores.
Absichtlich Capgo missbrauchen, um die Richtlinien des App Stores 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-Bibliothek „codepush“ den Richtlinien der App Stores entspricht: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Kann ich Capgo in meinem Land verwenden?
Abschnitt mit dem Titel „Can I use Capgo in meinem Land?“Wir haben versucht, keinen Zugriff auf Capgo aus irgendeinem Land zu beschränken.
Wir erkennen an, dass einige Länder Einschränkungen auf die von ihnen zugänglichen URLs haben. Capgo verwendet derzeit Cloudflare Cloud für die Hosting, einschließlich R2 Storage und Cloudflare-Arbeitern.
Die folgenden URLs werden von Capgo verwendet:
- https://api.capgo.app — wird von den
npx @capgo/cliBefehlszeilenwerkzeugen verwendet, um mit den Capgo-Servern sowie mit dem Capgo-Updater auf den Geräten der Benutzer zu interagieren, um nach Updates zu suchen. - https://*.r2.cloudflarestorage.com — wird von dem
npx @capgo/cliBefehlszeilenwerkzeug verwendet, um Bundle hoch- und herunterzuladen.
Wenn alle diese URLs in Ihrem Land zugänglich sind, dann sollte Capgo funktionieren.
Wenn Ihr Gebiet eine Zugriffsbeschränkung auf eine dieser URLs erfordert, teilen Sie uns das bitte mit 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 verfasst, aber der code ist Open-Source und steht auf https://github.com/cap-go/capgo
Braucht code-Push die Internetverbindung, um zu funktionieren?
Abschnitt mit dem Titel „Braucht 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 fehlende Netzwerkverbindung beeinflusst?
Wie wird Capgo durch die Abwesenheit von Netzwerkverbindungen beeinflusst?Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihr App mit Capgo bauen) ist auf Netzwerkverbindungsprobleme vorbereitet.
Bei der Standardaktualisierungsverhalten wird, wenn die Anwendung gestartet wird, die Capgo-Updater benachrichtigt, der eine separate Thread startet, um eine Netzwerkanfrage an Capgo’s Server zu senden und nach einer Aktualisierung zu fragen. Wir verwenden absichtlich einen separaten Thread, um sicherzustellen, dass nichts anderes im Anwendungsprozess blockiert wird. Wenn die Netzwerkanfrage fehlschlägt oder abläuft, wird der Updater einfach versuchen, wieder zu überprüfen, wenn die Anwendung wieder gestartet wird.
Capgo-Befehlszeilenwerkzeuge (z.B. npx @capgo/cli@latest bundle upload) benötigen Netzwerkverbindungen, um zu funktionieren. Wenn Sie Capgo verwenden, um Ihre App zu verteilen, sollten Sie sicherstellen, dass Ihr CI-System Netzwerkverbindungen hat.
Was passiert, wenn ein Benutzer lange Zeit nicht aktualisiert und eine Aktualisierung verpasst?
Abschnitt mit dem Titel ‘Was passiert, wenn ein Benutzer lange Zeit nicht aktualisiert und eine Aktualisierung verpasst?’Unsere Implementierung sendet immer eine Aktualisierung, die speziell auf das Gerät zugeschnitten ist, das aktualisiert werden soll, und aktualisiert den Anforderer immer auf die neueste verfügbare Version. Daher werden Benutzer, die lange Zeit nicht aktualisieren, ‘interne Aktualisierungen’ verpassen.
The Update-Server könnte so angepasst werden, dass er entweder die nächste inkrementelle Version oder die aktuellste Version zurückgibt, je nachdem, was Ihre Anwendung benötigt. Bitte lassen Sie uns wissen, ob alternative Update-Verhaltensweisen für Sie wichtig sind.
Wie steht es mit Capgo zu Capacitor?
Abschnitt mit dem Titel „Wie steht es mit Capgo zu Capacitor?“Capgo ist ein Plugin für Capacitor, das code-Push hinzufügt. Capgo ist keine Ersatz 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 arbeiten.
Wann passieren Updates?
Abschnitt mit dem Titel „Wann passieren Updates?“Standardmäßig überprüft der Capgo-Updater bei der Anwendungsstart auf Updates. Er läuft im Hintergrund und blockiert nicht den Benutzeroberflächen-Thread. Jeder Update wird während der Benutzung der Anwendung installiert und wird bei der nächsten Anwendungsstart 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 jederzeit auszulösen, einschließlich über eine Push-Nachricht.
The Capgo-Updater ist so konzipiert, dass er, wenn das Netzwerk nicht verfügbar ist oder der Server nicht erreichbar ist, normal weiterläuft. Sollten Sie jemals eine Aktualisierung von unseren Servern löschen, werden alle Ihre Clients normal weiterlaufen.
Wir haben die Möglichkeit hinzugefügt, Patches rückgängig zu machen. Die einfachste Sache ist, einfach eine vorherige Bundle an Ihren Kanal anzuhängen, um es rückgängig zu machen.
Brauche ich mein app_id geheim zu halten?
Abschnitt mit dem Titel “Brauche ich mein app_id geheim zu halten?”Nein. Das app_id ist in Ihrer App enthalten und ist sicher, wenn Sie es öffentlich machen. Sie können es in Ihre Versionskontrolle einchecken (auch öffentlich) und sich keine Sorgen machen, dass jemand anderes darauf zugreifen kann.
Jemand, der Ihr app_id hat, kann die neueste Version Ihrer App von den Capgo-Servern abrufen, aber er kann keine Updates an Ihre App pushen oder auf einen anderen Aspekt Ihres Capgo-Accounts zugreifen.
Welche Informationen werden an die Capgo-Server gesendet?
Abschnitt mit dem Titel “Welche Informationen werden an die Capgo-Server gesendet?”Obwohl Capgo mit dem Netzwerk verbunden ist, sendet es keine persönlichen Identifikationsinformationen. Die Einbeziehung von Capgo sollte Ihre Erklärungen für den Google Play Store oder den App Store nicht beeinflussen.
Anfragen, die vom App an Capgo-Server gesendet werden, umfassen:
- app_id (spezifiziert
capacitor.config.json) - Kanal (optional in
capacitor.config.json) - release_version (versionName aus AndroidManifest.xml oder CFBundleShortVersionString aus Info.plist oder
capacitor.config.jsonWenn inCapacitorUpdater.version) - version_number (als Teil von
npx @capgo/cli@latest bundle upload) - os_version (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. Die __CAPGO_KEEP_0__-Einstellungen für dies sind in
- device_id (erstellt auf dem Gerät bei der ersten Ausführung, verwendet, um Duplikate pro Gerät zu vermeiden und es uns zu ermöglichen, auf Basis der von Benutzern installierten Geräte (z.B. monatlich aktive Benutzer) zu berechnen, anstatt auf Basis der Gesamtpatches oder der Gesamtzahl der Patches zu berechnen)
Can I use Capgo for HIPAA-sensitive apps?
Abschnitt mit dem Titel “Can I use Capgo für HIPAA-sensibele Apps?”Ja, aber Ihr Compliance-Besitzer muss die richtige Bereitstellungsmodelle wählen. Capgo Cloud wird derzeit nicht als HIPAA-konformes gehosteter Statistik-Verarbeitungs-System vorgestellt. Standardmäßig ist die Updater-Daten auf Geräteebene skaliert und nicht an einen bekannten App-Benutzer gebunden, und viele Teams verwenden dieses Modell erfolgreich.
Für strengere Überprüfungen können Sie den Plugin-Verkehr geo-lokalisieren, die Statistik-Erstellung durch Festlegen von statsUrl auf eine leere Zeichenkette setzen, die Statistik-Endpunkt nur selbst hosten oder lizenziertes Selbsthosting verwenden. Rufen Sie CapacitorUpdater.setCustomId(...) nicht mit einer E-Mail, Benutzer-ID, Patienten-ID, Mitarbeiter-ID oder einem Wert auf, der die Updater-Telemetrie auf eine Person zurückmappen lässt.
Siehe HIPAA-Konformität für die vollständige technische Einrichtung und die Beobachtbarkeits-Abwägungen, wenn die Statistik-Erstellung deaktiviert ist.
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 eine EU-Datensicherheit für Capgo Cloud-Plugin-Verkehr 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 Update-Überprüfungen, Statistiken und Kanal-Zuweisungen den gleichen regionalen Datenpfad verwenden. Diese Werte befinden sich in capacitor.config.ts, Produktionsmobilanwendungen benötigen eine native Veröffentlichung, bevor bestehende Installationen die neuen Endpunkte verwenden.
Siehe Datenspeicherort 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 production-ready.
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, die auf dem App Store gebaut wurde, oder Electron-Kanäle, wie erforderlich, festlegen.
Capgo kann (relativ leicht) für Desktop- oder eingebettete Ziele unterstützt werden. Wenn diese für Sie wichtig sind, teilen Sie es uns bitte mit.
How interagiert Capgo mit Play Testing Tracks oder Apple TestFlight?
Sektion mit dem Titel “How interagiert Capgo mit Play Testing Tracks oder Apple TestFlight?”Jeder der App Stores hat eigene Mechanismen für die Verteilung von Apps an begrenzten Gruppen von Benutzern (z.B. “internes Testen”, “geschlossene Beta”, usw.). Diese sind alle Mechanismen zur Segmentierung Ihrer Benutzer in Gruppen und zur Verteilung spezifischer Versionen Ihrer Apps an jede.
Leider ermöglichen nicht alle diese Mechanismen es Drittanbietern, zu 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/questions/53291007/kann-ein-android-anwendung identifizieren, in welchem Test-Track innerhalb von Google Play sie installiert ist https://stackoverflow.com/questions/26081543/wie kann man an der Laufzeit ermitteln, ob eine iOS-Anwendung über einen Testflight-Beta-Test läuft
Wenn Sie die Verfügbarkeit des Capgo-Bundles segmentieren möchten, gibt es 4 mögliche Optionen:
- Verwenden Sie einen separaten Kanal für jede Gruppe. Dies ist der direkteste Ansatz, erfordert jedoch die Verwaltung mehrerer Kanäle. Sie haben möglicherweise bereits Entwicklerkanäle und Produktionskanäle mit unterschiedlicher Verfügbarkeit. Sie können Ihre Entwicklerkanäle aktualisieren, sie überprüfen und dann getrennt Ihre Produktionskanäle aktualisieren. Wir empfehlen die Verwendung von Branchen / Tags in Ihrer Versionskontrolle, um Ihnen dabei zu helfen, die Quellen zu verfolgen, die mit jedem Release verbunden sind.
- Verfolgen Sie Ihre eigene Liste von opt-in-Nutzern, deaktivieren Sie automatische Updates und lösen Sie Updates nur für bestimmte Nutzer über das
@capgo/capacitor-updaterPaket aus. Dies funktioniert heute, erfordert jedoch die Verwaltung Ihrer eigenen opt-in-Liste. - Capgo ermöglicht es Ihnen, Ihre eigenen opt-in-Mechanismen auf Gerätebasis zu erstellen (ähnlich wie Test Tracks oder TestFlight, nur plattformübergreifend). Dies ermöglicht es Ihrem QA-Team, sich auf die Verpackung vor der Promotion an die breite Öffentlichkeit zu opt-in.
- Capgo ermöglicht Ihnen, Rollouts auf Basis von Prozentsätzen durchzuführen. Dies ermöglicht es Ihnen nicht, auszuwählen, welche Geräte Sie senden, kann Ihnen jedoch helfen, schrittweise auszurollten und bei Sichtung von Problemen zurückzukehren.
Wie kann ich mein Abonnement auf- oder heruntergraden?
Abschnitt mit dem Titel „Wie kann ich mein Abonnement auf- oder heruntergraden?“Sie können Ihr Abonnement auf- oder heruntergraden, wann immer Sie möchten, in Ihrem Dashboard: https://console.capgo.app/einstellungen/organisation/abonnements
Wann wird mein Abrechnungszeitraum neu gesetzt?
Abschnitt mit dem Titel „Wann wird mein Abrechnungszeitraum neu gesetzt?“Die Abrechnungszeiträume werden automatisch alle Monate neu gesetzt, an dem Tag, an dem Sie sich zum ersten Mal bei Capgo angemeldet haben. Zum Beispiel, wenn Sie sich am 15. eines Monats angemeldet haben, wird Ihr Abrechnungszeitraum 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/einstellungen/organisation/abonnements
Kann ich ein Jahr im Voraus bezahlen?
Kann ich ein Jahr im Voraus bezahlen?Ja, das kannst du jederzeit in deinem Dashboard: https://console.capgo.app/settings/organization/plans
Statistik und Analyse
Abschnitt: Statistik und AnalyseDie Statistiken in deinem Dashboard werden alle Nacht UTC aktualisiert. Die Statistiken werden basierend auf der Anzahl der MAU Geräte, die auf deinen Geräten installiert wurden.
Wie wird der Geräte-Id generiert?
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 von Geräteinstallationen zu vermeiden und es uns zu ermöglichen, auf der Grundlage der von Benutzern installierten Geräte (z.B. monatlich aktive Benutzer) zu berechnen, anstatt auf die Gesamtzahl der Patches oder die Gesamtzahl der Patchesinstallationen.
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 persistiert nun über App-Wiederinstallierungen hinweg. Sie wird sicher im Gerätespeicher (iOS) oder in den verschlüsselten SharedPreferences (Android) gespeichert, sodass wir das gleiche Gerät auch nach dem Entfernen und Wiederinstallieren verfolgen können.
- Vorheriges Verhalten (vor v6.25.0/v7.25.0): Aus Gründen der Datenschutzbestimmungen von Apple und Google wurde die Geräte-ID bei jeder App-Wiederinstallation neu generiert, was es unmöglich machte, das gleiche Gerät über Wiederinstallationen hinweg zu verfolgen.
Die Datenschutzbestimmungen werden von Apple und Google durchgesetzt, und Capgo’s Implementierung entspricht ihren Empfehlungen für die Geräteidentifizierung.
Geräte-IDs werden nachdem die App sich mit Capgo über den Updater oder die Stats-Endpunkte abmeldet, aufgelistet. Ein Gerät muss nicht vorher einen Patch installieren, bevor es in der Geräteliste erscheint.
Warum ist meine Gerätezahl anders als meine MAU?
Abschnitt mit dem Titel “Warum ist meine Gerätenummer anders als mein MAU?”Die Geräteliste und der MAU basieren auf unterschiedlichen Signalen.
Die Geräteliste zeigt die neuesten bekannten Metadaten für jedes Gerät an, wie z.B. die Geräte-ID, die Plattform, die Pluginversion, die Betriebssystemversion, die native Version, den Kanal und die installierte Bundle. Capgo aktualisiert diese Metadaten, wenn die App sich abmeldet, aber wiederholte Abmeldungen, die die gleichen Metadaten melden, ändern möglicherweise nicht die Zeile oder ihren letzten Updatezeitpunkt.
Der MAU zählt die eindeutigen aktiven Geräte während der Abrechnungszeit. Diese Aktivität kann sogar zunehmen, wenn die Gerätemetadaten gleich bleiben, daher können die Gerätezahl und der MAU unterschiedlich sein.
Wie kann ich unterschiedliche Updates pro Plattform haben?
Abschnitt mit dem Titel “Wie kann ich unterschiedliche Updates pro Plattform haben?”Sie können einen Kanal für jede Plattform erstellen und in jedem Kanal die plattformspezifischen Updates deaktivieren.
Bei einem iOS-Kanal deaktivieren Sie die Updates für Android und bei einem Android-Kanal deaktivieren Sie die Updates für iOS.
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 mit mehreren Kanälen verknüpfen. Es ist nicht notwendig, das Bundle zu duplizieren.
Fortsetzung aus der FAQ
Bleiben Sie bei der FAQ weiterWenn Sie " FAQ um die Live-Update-Übermittlung zu planen, verbinden Sie 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 Update Typen für die Implementierungsdetails in Update Typen.