Cryptocurrency Tracker docs
v2.0.0
Live demoConsole demo Get help
● Set up · Your brand

Rebranding
name, ids, icon, colours.

Make the app yours before the first store release: the app name, the Android application id and iOS bundle id, the App Group, the icon and the colours.

Do the ids before flutterfire configure

01Live from the console

Console → Brand changes these without a new build (the app reads them from /v1/config):

  • App name: the title used inside the app (default "Cryptocurrency Tracker"). The Pro screen and the Pro banner use it too: "<App name> Pro".
  • Accent colour: buttons, highlights and charts in light and dark theme (default #10B981).
  • Support e-mail.

The name under the icon on the phone, the icon itself and the ids are part of the build; change them below.

02App name on the home screen

PlatformFileKey
Androidapp/android/app/src/main/AndroidManifest.xmlandroid:label="Crypto Tracker"
iOS appapp/ios/Runner/Info.plistCFBundleDisplayName and CFBundleName
iOS widgetapp/ios/CryptoTrackerWidget/Info.plistCFBundleDisplayName
Web demoapp/web/index.html<title>, apple-mobile-web-app-title, description and theme-color
Web demoapp/web/manifest.jsonname, short_name, description, background_color, theme_color
Textsapp/tool/gen_en_arb.py and app/lib/l10n/app_*.arbThe Pro title (proTitle, "{appName} Pro") already takes the console's app name; no other screen text in the ARB files contains the product name.

03Application id and bundle id

The package ships with com.yourcompany.cryptotracker. Pick your own, for example com.example.coinwatch, before you run flutterfire configure and before the first store upload: a published id cannot be changed.

  1. AndroidIn app/android/app/build.gradle.kts change applicationId. You can leave namespace and the Kotlin package folder as they are: the widgets refer to the Kotlin package, not to the application id.
  2. iOSOpen app/ios/Runner.xcworkspace in Xcode → target Runner → Signing & Capabilities → Bundle Identifier. Then set APP_BUNDLE_ID in app/ios/scripts/add_widget_extension.rb to the same value and run cd app/ios && ruby scripts/add_widget_extension.rb: it gives the widget extension the bundle id <your id>.CryptoTrackerWidget.
  3. ConsoleEnter the same ids under Pro and purchases (Android package name, iOS bundle id) for purchase verification.
  4. FirebaseRun flutterfire configure (Installation).

04App Group (iOS)

Change group.com.yourcompany.cryptotracker to group.<your bundle id> in the four places listed in Widgets, and register the group in your Apple Developer account for both App IDs (the app and the widget extension).

05App icon

The source logo is app/assets/brand/logo-1024.png. Replace the generated icons with yours:

PlatformFiles
Androidapp/android/app/src/main/res/mipmap-*/ic_launcher.png (mdpi 48, hdpi 72, xhdpi 96, xxhdpi 144, xxxhdpi 192 px)
iOSapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/ (every size listed in its Contents.json; the 1024 px one must have no transparency)
Web demoapp/web/favicon.png, app/web/icons/

Any icon generator works, for example Android Studio's Image Asset tool and Xcode's single-size App Icon. The Android widget preview uses @mipmap/ic_launcher, so it follows your icon.

06Colours

  • App: the accent comes from the console. The fallback and the rest of the palette are in app/lib/core/theme.dart (AppColors, buildTheme).
  • Widgets: native colours in app/android/app/src/main/res/values/ct_widget_colors.xml, values-night/ct_widget_colors.xml and Theme in app/ios/CryptoTrackerWidget/CryptoTrackerWidget.swift.
  • Setup screen (shown only to you while the build is not configured): app/lib/ui/screens/setup_required_screen.dart.