Configuration
OverPush adds one file and one dependency line to your project.
overpush.yaml
Written by overpush init, at the project root next to pubspec.yaml. Commit it.
app_id: cp_7Kq9xZ2mWv4TnR8bL3sYd6HfJp1cXa5E
The app id isn't secret.
pubspec.yaml
dependencies: overpush: ^1.0.0
That's all the app needs. You don't call anything from main().
Options
Add these to overpush.yaml when you need them. They take effect from the next overpush release.
app_id: cp_7Kq9xZ2mWv4TnR8bL3sYd6HfJp1cXa5E auto_update: false # the app checks for patches only when you ask obfuscate: true # obfuscate Dart code on Android and iOS keep_all_icons: false # smaller app; patches use only the release's icons
| Key | Default | What it does |
|---|---|---|
auto_update | true | When false, the app doesn't look for patches on its own. Call OverPush.update() when you want it to, for example after login. |
obfuscate | false | Builds with Dart obfuscation on Android and iOS. Patches for an obfuscated release are obfuscated the same way, with nothing extra to pass. The files needed to decode crash reports are kept for each release and patch. Turning it on or off starts a new release, so publish the app again after changing it. |
keep_all_icons | true | A release ships every Material and Cupertino icon, so a patch can use any of them. Set false to keep only the icons your code uses, which saves about 1.6 MB of app size; a patch can then use only those icons, and if it uses a new one, overpush patch stops and tells you which. Takes effect from your next release; releases already out keep what they were built with. |
Controlling updates from your app
With auto_update: false, your app checks for patches only when it calls OverPush.update(). See Update strategies for the API and examples.
Environment variables
| Variable | Used for |
|---|---|
OVERPUSH_TOKEN | Lets CI act as the project. Get it with overpush token. See CI. |
OVERPUSH_API_BASE | The server address, printed by overpush token. |
APP_STORE_CONNECT_KEY_ID | Default --api-key for overpush upload ios. |
APP_STORE_CONNECT_ISSUER_ID | Default --api-issuer for overpush upload ios. |