Rebranding
name, logo, colours, IDs.
What you can change live from the admin, and the one-time checklist for what is compiled into the app. Do this before your first store upload; bundle IDs are hard to change once an app is live.
The commands on this page are written for macOS and Linux shells. On Windows, run them in Git Bash or WSL, where they work as written. In PowerShell, set a variable with $env:NAME="value" instead of export. Flutter, Node.js and the Firebase and FlutterFire CLIs run natively on Windows; iOS and macOS builds need a Mac.
01Live settings vs. build settings
| Change live (admin, no new build) | Needs a new build |
|---|---|
| App name and tagline inside the app, primary colour, logo URL, About text, swap disclaimer, social and store links, support email, terms and privacy URLs, the "Powered by" switch. | Bundle / application ID, the name under the icon, app icon, splash screen, background colours, fonts, deep-link scheme, ADMIN_CONFIG_URL and the other .env keys. |
The primary colour from Admin → Branding recolours the whole app at runtime. The compiled default is _defaultPrimary in lib/ui_kit/colors.dart.
02Bundle IDs
The package uses com.superwallet.app. Pick your own reverse-domain ID, for example com.yourcompany.wallet, and use the same ID on iOS and Android — the backend uses ANDROID_PACKAGE_NAME for both stores.
| Platform | File | What to change |
|---|---|---|
| iOS | ios/Runner.xcodeproj/project.pbxproj | PRODUCT_BUNDLE_IDENTIFIER (three configurations, plus .RunnerTests). Easiest in Xcode: ios/Runner.xcworkspace → Runner → Signing & Capabilities. |
| iOS | ios/Runner/Runner.entitlements, Runner.debug.entitlements | The keychain group ending in com.superwallet.app. |
| Android | android/app/build.gradle.kts | namespace and applicationId. |
| Android | android/app/src/main/kotlin/com/superwallet/app/MainActivity.kt | Move it to a folder matching your ID and change the package line. |
| Backend | functions/.env | ANDROID_PACKAGE_NAME |
cd crypto_wallet
flutterfire configure --platforms=ios,android,web # register the new IDs
flutter clean
flutter pub get
03App name
| Where | File | Key |
|---|---|---|
| iOS home screen | ios/Runner/Info.plist | CFBundleDisplayName, CFBundleName, and the permission texts that mention the old name |
| Android launcher | android/app/src/main/AndroidManifest.xml | android:label |
| Web | web/index.html, web/manifest.json | <title>, apple-mobile-web-app-title, name, short_name |
| Inside the app | Admin → Branding | App Name (live) |
| Admin panel | crypto_wallet_admin/web/index.html, lib/screens/login_screen.dart, lib/screens/dashboard/dashboard_screen.dart | Page title and header text |
| Authenticator label | functions/.env | APP_NAME |
A few fallback texts in lib/ still say "Super Wallet" until your config loads. Search the project for Super Wallet and SuperWallet.
04Logo and app icons
- Replace the master imageOverwrite
crypto_wallet/assets/images/app_icon_1024.pngwith your 1024 × 1024 PNG (no transparency for iOS). - Set the icon colours
pubspec.yaml→flutter_launcher_icons:adaptive_icon_background(Android) and the webbackground_color/theme_color. - Generate every size
cd crypto_wallet dart run flutter_launcher_icons - Admin panelReplace
crypto_wallet_admin/assets/images/app_icon_1024.pngandlogo.svg. - Logo inside the appAdmin → Branding → Logo URL (an HTTPS image), then publish.
05Colours, splash and fonts
- Primary colour: Admin → Branding (live).
- Backgrounds, surfaces, text: constants in
lib/ui_kit/colors.dart. - Splash: Android
android/app/src/main/res/values/colors.xml(splash_background); iOSios/Runner/Assets.xcassets/LaunchImage.imageset/andLaunchScreen.storyboard; webbackground_colorinweb/manifest.json. Use the same colour asbgincolors.dartto avoid a flash. - Font: Inter (SIL OFL 1.1), bundled in
assets/google_fonts/, declared underassets:inpubspec.yamland applied byGoogleFonts.interTextThemeinlib/state/theme_provider.dart. To change it, replace the files with another family's<Family>-<Weight>.ttffiles and the call (for exampleGoogleFonts.manropeTextTheme). - Deep-link scheme (optional):
superevmwalletinInfo.plist,AndroidManifest.xmlandlib/core/deep_links/deep_link_router.dart. Keep the standardwc,ethereum,bitcoin,solanaschemes.
06Rebrand checklist
- Same bundle / application ID on iOS and Android;
MainActivity.ktmoved. flutterfire configurerun again after the ID change (both apps need their ownfirebase_options.dart).- App name changed on every platform and in the admin title.
- Icons replaced and
dart run flutter_launcher_iconsrun. - Splash colour and image replaced.
ADMIN_CONFIG_URLpoints at your admin, or is empty on purpose (how).- Store product IDs are your own (
IAP_PRO_WEEKLY_ID,PRO_WEEKLY_PRODUCT_ID). APP_NAMEandANDROID_PACKAGE_NAMEset, functions redeployed.- Admin → Branding filled in and published.
SECURITY.mdcontact address replaced with yours.