testFirebaseConsoleSetup function

Future<void> testFirebaseConsoleSetup()

Test if Remote Config parameters are set up in Firebase Console

Implementation

Future<void> testFirebaseConsoleSetup() async {
  logd('πŸ” === TESTING FIREBASE CONSOLE SETUP ===');

  try {
    final instance = FirebaseRemoteConfig.instance;

    // Try a minimal fetch to see if parameters exist
    await instance.setConfigSettings(
      RemoteConfigSettings(
        fetchTimeout: const Duration(seconds: 5),
        minimumFetchInterval: Duration.zero,
      ),
    );

    final result = await instance.fetchAndActivate();
    logd('πŸ”„ Test fetch result: $result');

    // Check if we got any non-default values
    final testValue = instance.getValue('minimumAppVersionRecommendedApple');
    logd('πŸ” Test value source: ${testValue.source}');
    logd('πŸ” Test value: "${testValue.asString()}"');

    if (testValue.source == ValueSource.valueRemote) {
      logd('βœ… SUCCESS: Firebase Console has Remote Config parameters set up!');
    } else if (testValue.source == ValueSource.valueDefault) {
      logd(
          '⚠️ WARNING: Using default values - Remote Config may not be set up in Firebase Console');
      logd('ℹ️ Go to Firebase Console > Remote Config and add parameters');
    } else {
      logd('ℹ️ Value source: ${testValue.source}');
    }
  } catch (e) {
    loge('❌ Firebase Console setup test failed: $e');
    if (e.toString().contains('cannot parse response')) {
      logd('πŸ“ This error suggests Remote Config is not set up in Firebase Console');
    }
  }
}