Arka Plan İşleme Nedir?
Uygulama ön planda değilken (kullanıcı başka uygulama kullanırken veya ekran kapalıyken) çalışan görevlerdir. Hem iOS hem Android platformları arka plan işlemlerini batarya ömrü ve performans nedeniyle sıkı şekilde kısıtlar.
iOS Arka Plan Modları
Background Fetch
- Periyodik veri çekme
- Sistem zamanlamayı kontrol eder (öğrenme bazlı)
- Garanti sıklık yok, sistem kullanım alışkanlıklarına göre karar verir
Push Notification (Silent)
- Sunucudan tetiklenen arka plan görevi
- Sessiz bildirim ile uygulama uyanır
- 30 saniye çalışma süresi
Background URL Session
- Büyük dosya indirme/yükleme
- Uygulama kapansa bile devam eder
- İşlem bitince uygulama bilgilendirilir
BGTaskScheduler (iOS 13+)
- BGAppRefreshTask: Kısa arka plan görevi
- BGProcessingTask: Uzun işlemler (gece, şarjda)
- Sistem koşullara göre çalıştırır
Sürekli Arka Plan
- Müzik/ses çalma
- Konum takibi (navigasyon)
- VoIP aramaları
- Bluetooth LE bağlantıları
- Bu modlar özel izin gerektirir, Apple sıkı denetler
Android Arka Plan
WorkManager (Önerilen)
- Garantili çalışma (cihaz yeniden başlasa bile)
- Constraint'ler: Ağ bağlantısı, şarj durumu, boşta olma
- Periyodik ve tek seferlik görevler
- Zincirleme görevler oluşturabilme
Foreground Service
- Kullanıcıya bildirim göstererek çalışan servis
- Müzik çalma, konum takibi, dosya indirme
- Android 14+: Tür belirtme zorunlu (mediaPlayback, location, vb.)
AlarmManager
- Hassas zamanlama gereken görevler
- Doze mode'da kısıtlı çalışır
- Exact alarm için özel izin (Android 12+)
Kısıtlamalar
iOS
- Arka plan süresi çok sınırlı (3 dakika max, genellikle 30 saniye)
- Sistem istediği zaman görevi sonlandırabilir
- Battery kullanımı izlenir, kötü uygulamalar kısıtlanır
- Apple arka plan nedenini review'da sorgular
Android
- Doze Mode: Cihaz hareketsizken ağ/CPU kısıtlı
- App Standby Buckets: Az kullanılan uygulamalar daha kısıtlı
- Background Execution Limits (Android 8+): Implicit broadcast kısıtlı
- Üretici özel kısıtlamalar (Xiaomi, Huawei, Samsung agresif kill yapabilir)
React Native / Expo
- expo-background-fetch: Background fetch görevi
- expo-task-manager: Arka plan görev yönetimi
- expo-location: Arka plan konum takibi
- react-native-background-actions: Foreground service (Android)
Best Practices
- Minimum arka plan işi yap (batarya dostu olmalı)
- Gereksiz arka plan modu isteme (Apple reddeder)
- WorkManager kullan (Android, en güvenilir seçenek)
- Arka plan görevlerini gerçek cihazda test et (Doze mode simülasyonu)
- Kullanıcıya arka plan kullanımı hakkında bilgi ver
- Üretici kısıtlamalarını dikkate al (dontkillmyapp.com referans)
2026 İtibariyle Güncel Durum
- Android 14+ ile foreground service türleri zorunlu hale geldi
- iOS BGTaskScheduler daha güvenilir ve yaygın kullanılıyor
- Üretici agresif kill davranışları için standart çözümler geliştirildi
- WorkManager, Android'de arka plan görevleri için tek önerilen API
Arka plan işleme "istediğim zaman çalışsın" değil, "sistem uygun gördüğünde çalışsın" mantığıyla tasarlanmalıdır.