One of the things I like to do with my apps is to add the version number somewhere within the app. Most of the time I place it in the footer of the sidemenu or in the About page of the app. This of course is great for support purposes when the user has a problem and you want to know what version they are using.
Of course you don’t have to display the version at all. Another possibility would be to send the version number (along with device info) when the app user initiates your built-in contact form using “cordova-plugin-email-composer”.
This isn’t a manual change though. It’s automated with a script to make it super easy. I’ve uploaded an example to GitHub that shows how this is done. https://github.com/jarodms/ionic4-sidemenu-version
[UPDATE] Master branch uses Angular 8 with Ionic 4.7.x; branch ‘ng5_ionic3’ uses the same concept but works for Angular 5 and Ionic 3.9.2
Example
Here’s what it looks like in the starter template sidemenu:

How does it work?
- During the postinstall script (after npm install), the version info is pulled from package.json and placed into src/assets/version.ts.
- This file is then imported in app.component.ts
- The version information is then shown in app.component.html in the <ion-footer>
- If you update the version number in package.json later, simply run node version.js
Why?
So why go through all this just for a version number?
Well, now you only have to maintain the version number in one place, your package.json file.
You probably have another script somewhere that bumps the package.json version number and then updates the version in config.xml, right? Me too. That’s three spots the version is located in. Now this can all be part of your build process and the version numbers are in sync.