diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index 5e19fec..7001ddf 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -51,11 +51,14 @@ android {
keyAlias = keyProperties.getProperty("demoKeyAlias", "")
keyPassword = keyProperties.getProperty("demoKeyPassword", "")
}
- create("prodRelease") {
- storeFile = file(keyProperties.getProperty("prodStoreFile", ""))
- storePassword = keyProperties.getProperty("prodStorePassword", "")
- keyAlias = keyProperties.getProperty("prodKeyAlias", "")
- keyPassword = keyProperties.getProperty("prodKeyPassword", "")
+ val prodStorePath = keyProperties.getProperty("prodStoreFile", "")
+ if (prodStorePath.isNotEmpty()) {
+ create("prodRelease") {
+ storeFile = file(prodStorePath)
+ storePassword = keyProperties.getProperty("prodStorePassword", "")
+ keyAlias = keyProperties.getProperty("prodKeyAlias", "")
+ keyPassword = keyProperties.getProperty("prodKeyPassword", "")
+ }
}
}
@@ -83,7 +86,7 @@ android {
dimension = "flavor-type"
// No applicationIdSuffix — prod uses the base applicationId
resValue("string", "app_name", "RE-Quest")
- signingConfig = signingConfigs.getByName("prodRelease")
+ signingConfigs.findByName("prodRelease")?.let { signingConfig = it }
}
}
diff --git a/android/app/src/prod/google-services.json b/android/app/src/prod/google-services.json
new file mode 100644
index 0000000..e9bb775
--- /dev/null
+++ b/android/app/src/prod/google-services.json
@@ -0,0 +1,134 @@
+{
+ "project_info": {
+ "project_number": "703616926518",
+ "project_id": "real-estate-2d71e",
+ "storage_bucket": "real-estate-2d71e.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:77f205bca96f096ffca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:270639d6887d2cb4fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.demo"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-irmpibm3vlr1msi8bj1um78qm333cbpi.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.requestn.real_estate_mobile.demo",
+ "certificate_hash": "8e31b3360e5e029447ed18ad1729ea17ae80d5b0"
+ }
+ },
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:4342b796fbabb690fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.dev"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:2eb242f07b174c25fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.local"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/firebase/prod/GoogleService-Info.plist b/firebase/prod/GoogleService-Info.plist
new file mode 100644
index 0000000..2bca593
--- /dev/null
+++ b/firebase/prod/GoogleService-Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ ANDROID_CLIENT_ID
+ 703616926518-irmpibm3vlr1msi8bj1um78qm333cbpi.apps.googleusercontent.com
+ API_KEY
+ AIzaSyD67KPio-70XW_yGjrRUyq9ejdZoZA1rmE
+ GCM_SENDER_ID
+ 703616926518
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.requestn.realEstateMobile
+ PROJECT_ID
+ real-estate-2d71e
+ STORAGE_BUCKET
+ real-estate-2d71e.firebasestorage.app
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:703616926518:ios:43306a28b7dfebdafca997
+
+
\ No newline at end of file
diff --git a/firebase/prod/google-services.json b/firebase/prod/google-services.json
new file mode 100644
index 0000000..e9bb775
--- /dev/null
+++ b/firebase/prod/google-services.json
@@ -0,0 +1,134 @@
+{
+ "project_info": {
+ "project_number": "703616926518",
+ "project_id": "real-estate-2d71e",
+ "storage_bucket": "real-estate-2d71e.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:77f205bca96f096ffca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:270639d6887d2cb4fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.demo"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-irmpibm3vlr1msi8bj1um78qm333cbpi.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.requestn.real_estate_mobile.demo",
+ "certificate_hash": "8e31b3360e5e029447ed18ad1729ea17ae80d5b0"
+ }
+ },
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:4342b796fbabb690fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.dev"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:703616926518:android:2eb242f07b174c25fca997",
+ "android_client_info": {
+ "package_name": "com.requestn.real_estate_mobile.local"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "703616926518-9h70kp29oqdgi8umr84u6n59kpb22q97.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/ios/config/prod/GoogleService-Info.plist b/ios/config/prod/GoogleService-Info.plist
new file mode 100644
index 0000000..2bca593
--- /dev/null
+++ b/ios/config/prod/GoogleService-Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ ANDROID_CLIENT_ID
+ 703616926518-irmpibm3vlr1msi8bj1um78qm333cbpi.apps.googleusercontent.com
+ API_KEY
+ AIzaSyD67KPio-70XW_yGjrRUyq9ejdZoZA1rmE
+ GCM_SENDER_ID
+ 703616926518
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.requestn.realEstateMobile
+ PROJECT_ID
+ real-estate-2d71e
+ STORAGE_BUCKET
+ real-estate-2d71e.firebasestorage.app
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:703616926518:ios:43306a28b7dfebdafca997
+
+
\ No newline at end of file
diff --git a/lib/config/firebase_config.dart b/lib/config/firebase_config.dart
index 842a33c..0ec4ac0 100644
--- a/lib/config/firebase_config.dart
+++ b/lib/config/firebase_config.dart
@@ -12,6 +12,8 @@ class FirebaseConfig {
return Platform.isIOS ? _demoIos : _demoAndroid;
case Flavor.local:
return Platform.isIOS ? _localIos : _localAndroid;
+ case Flavor.prod:
+ return Platform.isIOS ? _prodIos : _prodAndroid;
}
}
@@ -71,4 +73,23 @@ class FirebaseConfig {
storageBucket: 'real-estate-2d71e.firebasestorage.app',
iosBundleId: 'com.requestn.realEstateMobile.local',
);
+
+ // ── Prod (Android) ──
+ static const _prodAndroid = FirebaseOptions(
+ apiKey: 'AIzaSyAwb_9fc7n9gbN_IQqWeYRkHSSykzVHCyc',
+ appId: '1:703616926518:android:77f205bca96f096ffca997',
+ messagingSenderId: '703616926518',
+ projectId: 'real-estate-2d71e',
+ storageBucket: 'real-estate-2d71e.firebasestorage.app',
+ );
+
+ // ── Prod (iOS) ──
+ static const _prodIos = FirebaseOptions(
+ apiKey: 'AIzaSyD67KPio-70XW_yGjrRUyq9ejdZoZA1rmE',
+ appId: '1:703616926518:ios:43306a28b7dfebdafca997',
+ messagingSenderId: '703616926518',
+ projectId: 'real-estate-2d71e',
+ storageBucket: 'real-estate-2d71e.firebasestorage.app',
+ iosBundleId: 'com.requestn.realEstateMobile',
+ );
}