Rename & rebrand
Do this for each app before connecting Firebase. Examples use the customer app; the seller app is in
apps/seller and the rider app in apps/delivery.
1. Choose your app IDs
Section titled “1. Choose your app IDs”Every app needs a unique ID in reverse-domain style, used by Google Play, the App Store and Firebase. Pick them once — they can’t change after you publish.
| App | Example Android ID | Example iOS bundle ID |
|---|---|---|
| Customer | com.yourbrand.customer | com.yourbrand.customer |
| Seller | com.yourbrand.seller | com.yourbrand.seller |
| Rider | com.yourbrand.rider | com.yourbrand.rider |
2. Set the Android ID
Section titled “2. Set the Android ID”In android/app/build.gradle.kts, change applicationId:
defaultConfig { applicationId = "com.yourbrand.customer"Leave namespace as it is — it’s the code’s internal package and doesn’t show anywhere.
3. Set the iOS bundle ID
Section titled “3. Set the iOS bundle ID”- Open
ios/Runner.xcworkspacein Xcode (the .xcworkspace, not the .xcodeproj). - Select Runner in the left panel → the Runner target → Signing & Capabilities.
- Set Bundle Identifier to your iOS ID, for example
com.yourbrand.customer. - Customer app only: it has two extra targets that must start with the same ID:
- ImageNotification (pictures in push notifications) →
com.yourbrand.customer.ImageNotification - RapidOrderLiveActivity (order progress on the lock screen) →
com.yourbrand.customer.RapidOrderLiveActivity
- ImageNotification (pictures in push notifications) →
4. The name under the icon
Section titled “4. The name under the icon”Android — each app keeps it in a different place:
| App | File | Change |
|---|---|---|
| Customer | android/local.properties (create it if needed) | add APP_NAME=QuickMart |
| Seller | android/app/src/main/AndroidManifest.xml | android:label="QuickMart Seller" |
| Rider | android/app/src/main/res/values/strings.xml (and values-ar/strings.xml for Arabic) | <string name="app_name">QuickMart Rider</string> |
iOS: in ios/Runner/Info.plist, change CFBundleDisplayName:
<key>CFBundleDisplayName</key><string>QuickMart</string>Inside the app, titles and colours come from your server (Settings → Brand & business), so you don’t need to change them in code.
5. App icons
Section titled “5. App icons”The easiest way is flutter_launcher_icons:
- Make a square 1024×1024 PNG of your icon (no transparency for iOS).
- Save it as
assets/icon/app_icon.pngin the app’s folder. - Add to the end of the app’s
pubspec.yaml:(Ifdev_dependencies:flutter_launcher_icons: ^0.14.0flutter_launcher_icons:android: trueios: trueimage_path: assets/icon/app_icon.pngremove_alpha_ios: truedev_dependencies:already exists, add theflutter_launcher_iconsline under it.) - Run:
Terminal window flutter pub getdart run flutter_launcher_icons
Notification icon (customer app, Android): the small icon in the status bar is
android/app/src/main/res/drawable/ic_notification.xml. Replace it with a white-on-transparent
version of your mark (Android Studio → right-click res → New → Vector Asset or Image
Asset → Notification icons).
6. Shared links (customer app)
Section titled “6. Shared links (customer app)”Product, store and promo links like https://yourdomain.com/p/12 open in the app when your domain
is verified for it.
- The app: set your domain —
APP_LINKS_HOST=yourdomain.cominandroid/local.properties, andAPP_LINKS_DOMAIN = yourdomain.cominios/Flutter/AppLinks.xcconfig. - The server: add to your server’s
.env:ThenTerminal window APP_LINKS_BASE_URL=https://yourdomain.comAPP_LINKS_ANDROID_PACKAGES=com.yourbrand.customerAPP_LINKS_ANDROID_SHA256=AA:BB:… # your release key's SHA-256 (see Build for Android)APP_LINKS_IOS_TEAM_ID=ABCDE12345 # Apple Developer → MembershipAPP_LINKS_IOS_BUNDLE_IDS=com.yourbrand.customerphp artisan config:clear. RapidMart serves the verification files (/.well-known/assetlinks.jsonand/.well-known/apple-app-site-association) from these.