Häufig gestellte Fragen
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Wenn Sie hier nicht beantwortete Fragen haben, bitten wir Sie, eine Anfrage zu stellen! Beide das Erstellen eines Issues oder das Fragen auf Discord Arbeitszeit.
Was ist “code push”?
Abschnitt mit dem Titel “Was ist “code push”?”Code push, also referred to as “over-the-air updates” (OTA) is a cloud service enabling Capacitor developers to deploy updates to their apps in production. Capgo currently works on Android, iOS, and Electron.
“Code Push” ist eine Referenz auf den Namen einer Bereitstellungsfeature, das von der React Native Community verwendet wird, von Microsoft und Expo, weder von dem einen noch von dem anderen unterstützt Capacitor.
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ärcode für die App-Stores. Um später ein Bundle Capgo zu generieren, muss Capgo wissen, welcher genaue Binärcode an die App-Stores geschickt wurde.
Wir verwenden den Begriff „Bundle“ 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 ein Bundle aus Ihrem neuen lokalen code zu generieren, das dann an Ihre Benutzer geschickt 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 unserem Roadmap oder unseren Prioritäten über Github-Issues oder Discord.
Kann ich Capgo mit meinem Team verwenden?
Section titled “Can I use Capgo with my team?”Weitere Informationen finden Sie unter
Teams Kann __CAPGO_KEEP_0__ meine Quellcode-__CAPGO_KEEP_1__ speichern? See
Does Capgo store my source code?
Sektion mit dem Titel „fragt Does Capgo meine Quelldatei code?“Nein. Capgo-Server sehen nie deine Quelldatei code. Wenn du Capgo ausführst npx @capgo/cli@latest bundle upload, Capgo speichert eine Zip-Datei des minifizierten/verkompilierten code - das gleiche code wie ein Browser würde empfangen, nicht deine Quelldatei code.
Für zusätzliche Sicherheit hast du zwei Optionen:
- End-to-End-Verschlüsselung: Verschlüssle deine Bundle vor dem Hochladen, um sie im Speicher und im Transit zu schützen und dritte Parteien davon abzuhalten, gültig verschlüsselte Updates ohne deine private Schlüssel zu generieren. Dies macht jedoch die in der verteilt Anwendung befindlichen Web-Assets nicht unmöglich zu rückentwickeln, da der öffentliche Schlüssel in der verteilten Anwendung vorhanden ist.
- Außereinander-URL-Hochladen: Speichere die Bundle auf deinem eigenen Server und gib nur Capgo den Download-Link mit der Option
--external <url>
Siehe auch unsere Datenschutzrichtlinie: https://capgo.app/privacy
Kann ich Capgo aus meinem CI-System verwenden?
Abschnitt mit dem Titel „Can I use Capgo von meinem CI-System?“Ja. Capgo ist für die Verwendung in 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 Discord bei Problemen zu melden, wenn Sie Probleme auftreten.
Wie steht es mit 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 eine neue 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 an Capacitor-Apps hinzufügt. Wir wissen von Möglichkeiten, dies kleiner zu machen, 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 Fehlerkorrekturen an Benutzer auf ä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 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 jeden 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 der Plugin-Version v5.10.0, v6.25.0 und v7.25.0, der Geräte-ID bleibt nun bei App-Wiederinstallierungen bestehen. Vor diesen Versionen würde bei jeder App-Wiederinstallation eine neue Geräte-ID generiert und als neue MAU gezählt.
Mit den aktuellen Versionen:
- Geräte-ID bleibt bei App-Wiederinstallierungen bestehen (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 ein älteres Plugin verwenden (< v5.10.0 / v6.25.0 / v7.25.0), wird bei jeder Wiederinstallation immer noch eine neue MAU erzeugt
Hinweis: TestFlight-Downloads und Kanalwechsel in Android können je nach Konfiguration immer 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 push verwenden?
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.
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 das 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:
- Aktualisierung
capacitor.config.tsortsübergreifend - Ihre native App (
npx cap syncgefolgt von einer nativen Build - Das neue Binärdatei bei den App-Stores einreichen
Does Capgo submit to the stores for me?
Capgo unterstützt derzeit nicht die Einreichung bei den App-Stores 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 bei den App-Stores einzureichen.Capgo does not currently support submitting to the app stores on your behalf. We have plans to add this in the future, but for now you will need to continue to use your existing processes to submit to the app stores.
CI-Leitfaden für Android verwenden, um diesen Prozess zu automatisieren Does __CAPGO_KEEP_0__ submit to the stores for me? iOS CI Anleitung.
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 erstellen) 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 Anmeldeinformationen 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 Entwicklungszieldienst. Code push ist für die Produktion.
Hot reload ist eine Funktion von Capacitor, die es Ihnen ermöglicht, während der Entwicklung code auf dem Gerät zu ändern. Sie erfordert, dass das Capacitor-App mit einem Proxy erstellt wird, um eine Verbindung zur lokalen Maschine herzustellen.
Code-Push ist eine Funktion, die es Ihnen ermöglicht, während der Produktion code auf dem Gerät 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 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 sie nicht in der Bundle enthalten sind.
Gilt dies für Web?
Abschnitt mit dem Titel „Gilt dies für 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.
If Sie ein bestimmtes Anwendungsszenario für code Push mit Web haben, würden wir gerne davon erfahren!
Funktioniert dies auf iOS, Android, Mac, Windows, Linux usw.?
Abschnitt mit dem Titel „Funktioniert dies auf iOS, Android, Mac, Windows, Linux usw.? „Ja.
Bislang haben wir uns auf Android, iOS und Electron-Unterstützung konzentriert und code Push ist auf allen drei Plattformen in der Produktion 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
What versions of Capacitor does Capgo unterstützen?
Section titled “What versions of Capacitor does Capgo support?”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 erhalten. Wir beabsichtigen, in Zukunft mehr Versionen von Capacitor zu unterstützen, einschließlich jeder Version für unsere Kunden in Unternehmen. 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 wenige Minuten. Wir führen dann einen zusätzlichen manuellen Überprüfungs-Schritt durch, bevor wir auf unsere Server veröffentlichen.
Wie steht es mit dem App/Play Store-Bewertungsprozess oder -Richtlinien?
Sektion mit dem Titel „Wie steht es mit dem App/Play Store-Bewertungsprozess oder -Richtlinien?“Entwickler sind an ihre Vereinbarungen mit den Anbieter von App-Stores gebunden, wenn sie diese verwenden. Code push ist so konzipiert, dass Entwickler ihre Apps aktualisieren und gleichzeitig mit den Richtlinien der App-Stores auf iOS, Android und Electron-Delivery-Kanälen konform gehen können. Ähnlich wie bei den verschiedenen kommerziellen Produkten, die dies ermöglichen, z.B. Microsoft, Expo __CAPGO_KEEP_0__, __CAPGO_KEEP_1__).
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, der man sich bewusst sein sollte, ist, dass man das Verhalten der App nicht in einem wesentlichen Umfang ändern sollte. Bitte siehe unten für weitere Informationen. 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, was Sie mit Ihrer Anwendung bereitstellen und vermeiden Sie es, ihre Erwartungen durch bedeutende Verhaltensändern ü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 kann wie jedes Werkzeug missbraucht werden. Absichtlich Capgo zu missbrauchen, um die Richtlinien des Play Stores zu verletzen, ist ein Verstoß gegen die Capgo Nutzungsbedingungen und kann zu der Beendigung Ihres Kontos führen.
Schließlich werden code-Push-Dienste in der Branche 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 Richtlinien der App Stores konform ist: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Kommt Capgo den Richtlinien des App Stores entspricht?
Section titled “Capgo erfüllt die Richtlinien des App Stores?”Ja.
Ähnlich wie der Google 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 Ihr Anwendungsprogramm nicht durch Updates (z.B. durch Änderung des Zwecks des Apps) irreführend handelt, ist das Aktualisieren über Capgo (oder jede andere code-Push-Lösung) eine Standardpraxis in der Branche und entspricht den Richtlinien des App Stores.
Capgo absichtlich missbrauchen, um die Richtlinien des App Stores zu verletzen, ist eine Verletzung der Capgo Nutzungsbedingungen und kann zur Beendigung Ihres Kontos führen.
Microsoft veröffentlicht auch eine Anleitung, wie ihre React Native-Bibliothek „codepush“ die Richtlinien der App Stores einhält: https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Kann ich Capgo in meinem Land verwenden?
Kann ich Capgo in meinem Land verwenden?Wir haben versucht, keinen Zugriff auf Capgo von keinem Land zu beschrä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-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 dieser URLs in Ihrem Land zugänglich sind, dann sollte Capgo funktionieren.
Wenn Ihr Land den Zugriff auf eine dieser URLs blockiert, 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, du kannst Capgo selbst hosten. Die Anleitung ist noch nicht geschrieben, aber der code ist Open-Source und verfügbar unter 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 Updates an die Geräte zu transportieren.
Wie wird Capgo durch die fehlende Netzwerkverbindung beeinflusst?
Abschnitt mit dem Titel „Wie wird Capgo durch die fehlende Netzwerkverbindung beeinflusst?“Der Capgo-Updater (in Ihrem Anwendungsprojekt enthalten, wenn Sie Ihre App mit Capgo bauen) ist auf Netzwerkverbindungsprobleme ausgelegt.
Bei der Standardaktualisierungsverhalten wird beim Start der Anwendung der Capgo-Updater benachrichtigt, der einen separaten Thread startet, um einen Netzwerkaufruf an Capgo’s Server zu senden und nach einer Aktualisierung zu fragen. Wir verwenden absichtlich einen separaten Thread, um sicherzustellen, dass die Aktualisierung nicht andere laufende Anwendungsprozesse blockiert. Wenn der Netzwerkaufruf fehlschlägt oder abläuft, wird der Updater einfach wieder versuchen, die Aktualisierung 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 zur Verteilung Ihrer App verwenden, 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, „intermediate Updates“ verpassen.
Der Update-Server 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.
How verhält sich Capgo zu Capacitor?
Abschnitt mit dem Titel “How verhält sich 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.
We track the latest stable release of Capacitor and update our code push plugin to work with it.
Direkter Link zu Wann passieren Updates auf?
Standardmäßig überprüft der __CAPGO_KEEP_0__-Updater bei der App-Startzeit auf 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 über den
It is also possible to run the Capgo updater manually using the @capgo/capacitor-updater Der __CAPGO_KEEP_0__-Updater ist so konzipiert, dass, wenn das Netzwerk nicht verfügbar ist, der Server nicht erreichbar ist oder sonstwie nicht erreichbar ist, die App weiterhin normal läuft. Sollten Sie sich jemals entscheiden, einen Update von unseren Servern zu löschen, werden alle Ihre Clients weiterhin normal laufen.
The Capgo updater is designed such that when the network is not available, or the server is down or otherwise unreachable, the app will continue to run as normal. Should you ever choose to delete an update from our servers, all your clients will continue to run as normal.
Wir haben die Möglichkeit, Patches rückgängig zu machen. Das Einfachste ist, einfach eine vorherige Bundle an deinen Kanal anzuhängen, um es rückgängig zu machen.
Muss ich mein app_id geheim halten?
Abschnitt mit dem Titel “Muss ich mein app_id geheim halten?”Nein. Das app_id ist in deiner App enthalten und ist sicher, wenn es öffentlich ist. Du kannst es in die Versionskontrolle einchecken (auch öffentlich) und musst dich nicht um jemanden sorgen, der es zugreifen kann.
Wer dein app_id kann die neueste Version deiner App von Capgo Servern abrufen, aber er kann keine Updates an deine App pushen oder Zugriff auf andere Aspekte deiner Capgo-Konto haben.
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, werden keine persönlichen Identifikationsinformationen gesendet. Die Einbindung von Capgo sollte deine Erklärungen für den Play Store oder App Store nicht beeinflussen.
Anfragen, die vom App auf Capgo-Server gesendet werden, umfassen:
- app_id (spezifiziert
capacitor.config.json) - channel (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 (z.B. ‘android’, notwendig, um die richtigen Patches zu senden) Das ist alles. Der code-Server für diese App ist in
updater/library/src/network.rs - device_id (erzeugt 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 installierten Benutzer zu berechnen (z.B. monatlich aktive Benutzer), anstatt auf Gesamtpatches oder Gesamtinstallateure zu rechnen)
- custom_id (optional, gesetzt bei Laufzeit durch den Entwickler, verwendet, um ein Gerät mit einem Benutzer in Ihrem System zu verknüpfen)
Welche Plattformen unterstützt Capgo?
Sektion mit dem Titel “Welche Plattformen unterstützt Capgo?”Aktuell 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, wie erforderlich festlegen.
Capgo kann (relativ leicht) für Desktop- oder eingebettete Ziele angepasst werden. Wenn diese für Sie wichtig sind, teilen Sie es uns bitte mit.
Wie interagiert Capgo mit Play-Test-Tracks oder Apple TestFlight?
Sektion mit dem Titel “Wie interagiert Capgo mit Play-Test-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-Application-identifizieren-welche-Test-Track-in-Google-Play https://stackoverflow.com/questions/26081543/wie-kann-man-am-Startzeitpunkt-erkennen-ob-eine-ios-App-durch-eine-Testflight-Beta-läuft
If Sie möchten die Verfügbarkeit des Capgo-Pakets segmentieren, stehen Ihnen 4 mögliche Optionen zur Verfügung:
- Verwenden Sie einen separaten Kanal für jede Gruppe. Dies ist der direkteste Ansatz, erfordert jedoch, dass Sie mehrere Kanäle verwalten. Sie haben möglicherweise bereits Entwicklerkanäle und Produktionskanäle mit unterschiedlicher Verfügbarkeit. Sie können Ihre Entwicklerkanäle aktualisieren, ü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 eigenen opt-in-Nutzer, deaktivieren Sie automatische Updates und lösen Sie Updates nur für bestimmte Nutzer über das
@capgo/capacitor-updaterPackage aus. Dies funktioniert heute, erfordert jedoch, dass Sie Ihre eigenen opt-in-Liste verwalten. - Capgo ermöglicht die Erstellung eines eigenen opt-in-Mechanismus auf Gerätebasis (ähnlich wie Test Tracks oder TestFlight, nur plattformneutral). Dies ermöglicht es Ihrem QA-Team, das Paket vor der Veröffentlichung für die breite Öffentlichkeit zu aktivieren.
- Capgo ermöglicht percentage-basierte Rollouts. Dies ermöglicht es Ihnen, nicht auszuwählen, welche Geräte Sie senden, kann Ihnen jedoch helfen, schrittweise auszurollen und bei Problemen zurückzukehren.
Wie stelle ich mein Abonnement auf ein höheres oder niedrigeres Niveau um?
Abschnitt mit dem Titel ‘Wie stelle ich mein Abonnement auf ein höheres oder niedrigeres Niveau um?’Sie können Ihr Abonnement jederzeit in Ihrem Dashboard aktualisieren oder herabstufen: https://console.capgo.app/settings/organization/plans
Wann wird mein Abrechnungszeitraum neu gesetzt?
Abschnitt mit dem Titel „Wann wird mein Abrechnungszeitraum neu gesetzt?“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. des Monats angemeldet haben, am 15. jeden Monats neu gesetzt.
Wie kann ich mein Abonnement kündigen?
Abschnitt mit dem Titel „Wie kann ich mein 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, das kannst du jederzeit in deinem Dashboard: https://console.capgo.app/einstellungen/organisation/pläne
Statistiken und Analytik
Abschnitt mit dem Titel „Statistiken und Analytik“Die Statistiken in deinem Dashboard werden jede Nacht um UTC-Mittnacht aktualisiert. Die Statistiken werden auf der Basis der Anzahl der MAU Geräte, die auf deinen Geräten installiert wurden.
Wie wird der Geräte-Id generiert?
Abschnitt mit dem Titel “Wie wird die Gerät-ID generiert”Die Gerät-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 Basis der von Benutzern installierten Geräte zu berechnen (z.B. monatlich aktive Benutzer), anstatt auf Basis der Gesamtzahl der Patches oder der Gesamtzahl der Patch-Instanzen.
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 nun über App-Wiederinstallierungen hinweg 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 einer Entfernung/Neuinstallation verfolgen können.
- Zuvoriges Verhalten (vor v6.25.0/v7.25.0): Aus Gründen der Privatsphäre, die von Apple und Google Store-Politik gefordert werden, 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 Privatsphäre-Regeln werden von Apple und Google durchgesetzt und Capgo’s Implementierung entspricht ihren Best-Practice-Regeln für die Geräteidentifizierung.
Die Geräte-ID wird nicht in Ihrer Geräteliste aufgeführt, bis sie ihren ersten Patch installiert haben.
Warum ist meine Gerätenummer anders als meine MAU?
Abschnitt mit dem Titel „Warum ist meine Gerätenummer anders als meine MAU?“Derzeit wird die Geräteliste nicht so häufig aktualisiert wie der MAU.
Die Geräteliste wird nur aktualisiert, wenn ein Gerät ein Update installiert.
Während der 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 Datenbankanfragen zu begrenzen, aktualisieren wir nur die Zeile bei einem App-Update.
Diese Einschränkung wird in Zukunft entfernt.
Wie kann ich unterschiedliche Updates pro Plattform haben?
Abschnitt mit dem Titel „Wie kann ich 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 deaktivieren Sie die Updates für Android und auf dem Android-Kanal deaktivieren Sie die Updates für iOS.
Hängen Sie dann ein Bundle an jeden Kanal an, um unterschiedliche Updates für jede Plattform zu erhalten.
Wenn Sie das gleiche Update für beide Plattformen benötigen, können Sie ein Bundle an mehrere Kanäle anbinden. Es ist nicht notwendig, das Bundle zu duplizieren.
Weiter zu FAQ
Abschnitt mit dem Titel „Weiter zu FAQ“Wenn Sie FAQ für die Planung der Live-Update-Übermittlung verbunden haben, Capgo Live Updates für den Produktworkflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Übersicht, Features für die Implementierungsdetails in Features Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, und Aktualisierungstypen für die Implementierungsdetails in Aktualisierungstypen.