Understanding what app changes need an app update
Table of Contents
Pugpig Bolt gives customers the ability to change certain elements or details within their apps without requiring a new release via the app stores. These are instead changed by the Pugpig team creating and activating a new config. This is a file that's deployed to the app to users who have already installed the app. These changes will take affect after the user has opened the app to fetch the new config file, and then left their app in the background for long enough, before returning again. (To be precise this must be enough time for the operating system to have kicked the app out of memory, or if the user has force quit the app).
Theres are two kinds of config
- Run Time config: Something that can be changed after the app has been released
- Build Time config: Something that can only be changed with an app release
The elements that can and cannot be changed with a runtime config, and the process thererof, is defined below.
Configurations
Changes made to Bolt app structure and styling are controlled by config. Using configs we can ensure that we're able to test changes before deploying them to all of your users.
If a config is activated, and therefore made available to all users, the next time a user accesses the app, with an internet connection, after their previous session has ended, they should pick it up. Users downloading your app for the first time will see the config that the app was submitted with, then see the activated config in their next session.
Content
All changes to your content happen seamlessly, regardless of configs or app updates.
You can freely add new timelines to existing timeline groups and new editions to existing storefronts and rearrange them at will.
However adding new timeline groups or storefronts will require config changes.
Changes that can be made by config
- App styling
- Colours - for icons, toolbars or fonts
- Fonts
- Font sizes
- Launch animation (only if you already have one, see below)
- Timeline styling
- Copy
- App structure
- Tabs
- Toolbar icons
- Settings page layout and contents
- Authentication and subscriptions
- Third party auth adjustments
- App store and Google play subscription adjustments
Changes requiring an app update
- Any Analytics or Push providers
- Analytics and push providers require SDKs that we don't include in the build if they're not configured, in order to reduce the size of the app.
- Launch animations
- If you have a launch animation when the app is built you can freely change or remove it. But you cannot add one via config if you don't have one at submission.
- Onboarding screens
- Technically these can be changed via config, but as active configs are only shown to users after their first run, any new ones will need an app update to actually be seen.
- App icon(s) and name
- App tracking transparency (iOS only)
- This is a prompt asking users for permission to track their activity. It cannot be added or removed without Apple reviewing it, via an app submission.
- Native Google ads
- Native Google ads are banners that appear at the bottom of the screen. This does not apply to in-content ads which are controlled via Express.
- App Entitlements - Domains - any new domain entitlements (both iOS and Android).
- For Android - any new changes to the path structure for deeplinking
- App Entitlements (iOS only)
- Allowing Audio (defaults to false)
- Allowing iOS Background refresh