OTA Update Nedir?
Over-the-Air (OTA) update, uygulama güncellemelerini app store review süreci olmadan doğrudan kullanıcıların cihazlarına iletme yöntemidir. Sadece JavaScript/asset değişiklikleri için geçerlidir; native kod değişiklikleri için store update gerekir.
Nasıl Çalışır?
- JS bundle ve asset'ler sunucuya yüklenir
- Uygulama açıldığında güncelleme kontrol edilir
- Yeni bundle indirilir
- Uygulama yeniden başlatıldığında yeni versiyon aktif olur
Araçlar
EAS Update (Expo)
- Expo'nun resmi OTA çözümü
- expo-updates paketi ile entegrasyon
- Branch ve channel sistemi (staging, production)
- Rollback desteği
- Fingerprint bazlı uyumluluk kontrolü
CodePush (Microsoft) - DEPRECATED
- Eskiden en popüler OTA aracı
- 2024'te deprecated/sunset oldu
- Artık kullanılmamalı, EAS Update'e geçiş öneriliyor
Alternatifler
- Shorebird (React Native/Flutter): Yeni, gelişen bir çözüm
- Custom solution: Kendi sunucundan bundle servis etme (ileri seviye)
Apple & Google Kuralları
Apple
- İzin verilen: Bug fix, içerik güncellemesi, küçük UI değişiklikleri
- İzin verilmeyen: Uygulamanın amacını değiştirme, gizli özellik ekleme
- Guideline 3.3.2: Executable code indirme kısıtlaması
- JavaScript bundle güncellemeleri genellikle kabul edilir
- Apple'a göre daha esnek kurallar
- Benzer genel ilkeler geçerli
- Kötü niyetli kullanım tespit edilirse uygulama kaldırılır
Kullanım Alanları
- Kritik bug fix: Store review'ı beklemeden anında düzeltme yapma
- İçerik güncellemesi: Yeni açıklama metinleri, görsel değişiklikleri
- A/B testing: Farklı varyasyonları deploy etme
- Gradual rollout: Güncellemeyi kademeli yayınlama (%10, %50, %100)
- Hızlı iterasyon: Yeni özellik denemelerini hızlıca test etme
OTA ile Güncellenebilecekler vs Güncellenemeyecekler
| Güncellenebilir (OTA) | Store Update Gerekli |
|---|---|
| JavaScript/TypeScript kodu | Yeni native modül ekleme |
| Stil ve layout değişiklikleri | Native SDK sürüm güncelleme |
| Görsel ve asset değişiklikleri | Yeni permission ekleme |
| API endpoint değişiklikleri | app.json/Info.plist değişiklikleri |
| Navigasyon yapısı değişiklikleri | Build konfigürasyon değişiklikleri |
Best Practices
- Her OTA güncellemesini staging channel'da test et
- Rollback planı hazır tut (hatalı güncelleme durumunda)
- Fingerprint/runtime version ile uyumluluk kontrolü yap
- Kritik güncellemelerde forced update mekanizması kullan
- Güncelleme boyutunu minimumda tut (diff bazlı gönderim)
- Kullanıcıya güncelleme durumu hakkında bilgi ver
2026 İtibariyle Güncel Durum
- EAS Update, React Native/Expo ekosisteminde standart OTA çözümü
- Shorebird, Flutter projelerinde popülerlik kazanıyor
- CodePush tamamen kullanımdan kalktı
- Fingerprint bazlı uyumluluk kontrolü ile yanlış güncelleme gönderme riski azaldı
OTA update, mobil geliştirmenin en güçlü avantajlarından biridir. Doğru kullanıldığında store review sürecini beklemeden kritik düzeltmeleri anında kullanıcılara ulaştırabilirsiniz.