testRemoteConfigValues function
Test Remote Config functionality and log the results This is useful for debugging Remote Config issues
Implementation
Future<void> testRemoteConfigValues() async {
try {
logd('๐งช Testing Remote Config values...');
// Test version parameters
final requiredApple = FirebaseRemoteConfig.instance.getString('minimumAppVersionRequiredApple');
final recommendedApple =
FirebaseRemoteConfig.instance.getString('minimumAppVersionRecommendedApple');
logv('๐ฑ Version Required Apple: "$requiredApple"');
logv('๐ฑ Version Recommended Apple: "$recommendedApple"');
// Test web-specific values
if (kIsWeb) {
final requiredWeb = FirebaseRemoteConfig.instance.getString('minimumAppVersionRequiredWeb');
final recommendedWeb =
FirebaseRemoteConfig.instance.getString('minimumAppVersionRecommendedWeb');
logv('๐ Version Required Web: "$requiredWeb"');
logv('๐ Version Recommended Web: "$recommendedWeb"');
// Check value sources on web
final webRequiredSource =
FirebaseRemoteConfig.instance.getValue('minimumAppVersionRequiredWeb').source;
final webRecommendedSource =
FirebaseRemoteConfig.instance.getValue('minimumAppVersionRecommendedWeb').source;
logv('๐ Web Required source: $webRequiredSource');
logv('๐ Web Recommended source: $webRecommendedSource');
}
// Test feature flags
final calsyncGoogle = FirebaseRemoteConfig.instance.getBool('calsyncEnableGoogle');
final communityTutorial = FirebaseRemoteConfig.instance.getBool('communityTutorialEnabled');
logv('๐ง Calsync Google Enabled: $calsyncGoogle');
logv('๐ง Community Tutorial Enabled: $communityTutorial');
// Test string parameters
final stripeKey = FirebaseRemoteConfig.instance.getString('stripePublishableKey');
final vimeoId = FirebaseRemoteConfig.instance.getString('subscribeVideoVimeoId');
logv('๐ณ Stripe Key: "${stripeKey.isNotEmpty ? '${stripeKey.substring(0, 20)}...' : 'EMPTY'}"');
logv('๐ฅ Vimeo ID: "$vimeoId"');
// Test numeric parameters
final maxSelections = FirebaseRemoteConfig.instance.getInt('psmChoiceSelectionsMax');
final refreshInterval =
FirebaseRemoteConfig.instance.getInt('userPrivateRefreshIntervalSeconds');
logv('๐ข PSM Max Selections: $maxSelections');
logv('๐ข Refresh Interval: $refreshInterval');
// Check fetch status
final fetchStatus = FirebaseRemoteConfig.instance.lastFetchStatus;
final fetchTime = FirebaseRemoteConfig.instance.lastFetchTime;
logv('๐ Last fetch status: $fetchStatus');
logv('๐
Last fetch time: $fetchTime');
// Check value source (will help identify if values come from defaults, cache, or remote)
final valueSource =
FirebaseRemoteConfig.instance.getValue('minimumAppVersionRecommendedApple').source;
logd('๐ Value source for minimumAppVersionRecommendedApple: $valueSource');
logd('โ
Remote Config test completed');
} catch (e) {
loge('โ Error during Remote Config test: $e');
}
}