- Platform detection utilities (is_ios, is_standalone, supports_push) - iOS-specific meta tags and Apple touch icons - Auto-detect iOS and show user-friendly message when not in standalone mode - Enhanced Service Worker with iOS-compatible notification options - Comprehensive iOS push notification documentation - manifest.json scope for PWA compliance - Only works when added to Home Screen (iOS Safari limitation)
3.4 KiB
3.4 KiB
iOS Push Notification Desteği
VibeTorrent artık iOS 16.4+ cihazlarda push notification destekliyor! 🎉
Gereksinimler
- iOS 16.4 veya üzeri (Mart 2023 ve sonrası)
- Safari tarayıcısı
- HTTPS bağlantısı (production ortamında)
Nasıl Kullanılır?
1. Ana Ekrana Ekle
Push notification'lar sadece Home Screen'e eklenmiş PWA'larda çalışır. Safari'den doğrudan çalışmaz!
Adımlar:
- Safari'de uygulamayı açın
- Alt kısımdaki Paylaş butonuna tıklayın (⬆️ ikonu)
- "Ana Ekrana Ekle" seçeneğini seçin
- İsmi onaylayıp "Ekle" butonuna basın
- Ana ekrandaki ikona tıklayarak uygulamayı açın
2. Notification İzni Verin
İlk açılışta uygulama notification izni isteyecektir:
- "İzin Ver" seçeneğini seçin
- Eğer atlarsanız, daha sonra Safari ayarlarından izin verebilirsiniz
3. Push Notification Otomatik Aktif Olur
Ana ekrandan açılan PWA'da:
- Uygulama otomatik olarak push notification'a abone olur
- Torrent tamamlandığında bildirim alırsınız
- Uygulama kapalı olsa bile bildirim gelir!
Teknik Detaylar
iOS Safari Kısıtlamaları:
✅ Çalışır:
- Home Screen'e eklenmiş PWA
- iOS 16.4+ Safari
❌ Çalışmaz:
- Safari browser mode (standalone olmayan)
- iOS 16.4 altı sürümler
- Chrome veya diğer tarayıcılar iOS'ta (WebKit kısıtlaması)
Test Etme:
- iOS cihazınızdan production URL'e gidin (HTTPS gerekli)
- Ana ekrana ekleyin
- Bir torrent indirin ve tamamlanmasını bekleyin
- Uygulamayı kapatın
- Torrent tamamlandığında notification alacaksınız!
Sorun Giderme:
"Push notification desteklenmiyor" mesajı görüyorum:
- Ana ekrana eklediniz mi? Safari'den değil, ana ekrandaki ikondan açmalısınız
- iOS 16.4+ sürümü mü kullanıyorsunuz?
Notification gelmiyor:
- Settings → VibeTorrent → Notifications → izinlerin açık olduğundan emin olun
- Ana ekrandaki PWA'dan açtığınızdan emin olun (Safari'den değil)
- Developer Console'da "Push subscription" log'unu kontrol edin
Notification izni reddettim, nasıl yeniden açarım?
- Settings → Safari → Advanced → Website Data → VibeTorrent'i silin
- Uygulamayı ana ekrandan silin ve yeniden ekleyin
Platform Karşılaştırması
| Platform | Push Support | Gereksinim |
|---|---|---|
| Android Chrome | ✅ Tam destek | Browser veya PWA |
| iOS 16.4+ Safari | ✅ PWA destekli | Ana ekrana eklenmiş olmalı |
| iOS 16.3 ve altı | ❌ Desteklenmez | - |
| Desktop (Chrome/Edge) | ✅ Tam destek | Browser veya PWA |
| Desktop Safari | ⚠️ Sınırlı | macOS 13+ (Ventura) |
Güvenlik
- VAPID anahtarları kullanılıyor
- End-to-end şifreli push notification
- Subscription'lar backend'de güvenli saklanıyor
- iOS Safari security model tam uyumlu
Geliştiriciler İçin
// iOS detection
if crate::utils::platform::is_ios() {
// iOS-specific kod
}
// Standalone mode kontrolü
if crate::utils::platform::is_standalone() {
// PWA mode
}
// Push notification desteği
if crate::utils::platform::supports_push_notifications() {
// Subscribe
}