Proje: Okul B2B App · Hub: Okul B2B App — Conventions
Remote Config ve Force Update
hooks/useRemoteConfig.ts — Remote Config’den değerleri çeker.
Remote Config Değerleri
{
apiUrl: string, // API URL (dinamik)
forceUpdate: boolean, // Güncelleme zorla
maintenanceMode: boolean, // Bakım modu
maintenanceMessage: string
}Expo Go vs Production Davranışı
if (isExpoGo || __DEV__) {
// process.env.EXPO_PUBLIC_API_URL kullan
} else {
// Firebase Remote Config'den değerleri al
}Force Update Kontrolü
RemoteConfigService.shouldForceUpdate(currentVersion) → min_app_version ile karşılaştırır.
Not: _layout.tsx’deki isVersionOutdated() fonksiyonu hardcoded MIN_APP_VERSION kullanır, Remote Config’i kullanmaz. Remote Config force update ayrı bir mekanizma.
Maintenance Mode
RemoteConfigService.isMaintenanceMode() → { enabled, message }. Aktifse kullanıcıya bakım mesajı gösterilir.
Mevcut Durum (2026-04-17)
Remote Config entegrasyonu yazılmış ama utils/ApiClient.ts’de TODO olarak bekliyor:
// TODO: Firebase native init yapıldıktan sonra Remote Config aktif edilecekŞu an tüm ortamlar api.okul.com.tr kullanıyor, Remote Config aktif değil.
Related
- api-url-remote-config — Remote Config URL kararı
- firebase-native-module-kurali — Expo Go güvenliği