Kullanıcı cihaz ve bağlantı diagnostik sistemi
System Check nedir? Premium kullanıcıların cihazlarını ve internet bağlantılarını test edebileceği özel bir sayfa.
Ne işe yarar? Kullanıcı müzik dinlerken sorun yaşarsa, sorunun nereden kaynaklandığını anlayabilir:
Nasıl çalışır?
Neden önemli? Kullanıcı şikayetlerinde "Muzibu yavaş çalışıyor" denmeden önce, sorunun kullanıcının cihazından mı yoksa Muzibu'dan mı kaynaklandığı anlaşılır. Bu da destek yükünü azaltır.
site - Tenant kontrolüauth - Giriş yapmış olmalıverified - E-posta doğrulanmış olmalıSubscriptionService::checkUserAccess()
status === 'unlimited' değilse dashboard'a yönlendirilir
/themes/muzibu/speed-test-payload.bin dosyası indirilir, süre ölçülerek Mbps hesaplanır.
/api/muzibu/ping endpoint'ine 5 kez HEAD request atılır, ortalama süre alınır.
UAParser.js kütüphanesi veya fallback ile User Agent parse edilir.
navigator.deviceMemory (RAM)navigator.hardwareConcurrency (CPU çekirdek)
window.screen.width/height ve cihaz tipi (mobil/tablet/masaüstü)
| Metrik | Değer | Puan |
|---|---|---|
| Hız | 50+ Mbps | 40 |
| 20-50 Mbps | 35 | |
| 10-20 Mbps | 28 | |
| < 2 Mbps | 5 | |
| Gecikme | ≤ 50ms | 40 |
| > 400ms | 5 | |
| Kararlılık | ≤ 20ms jitter | 20 |
| Metrik | Değer | Puan |
|---|---|---|
| RAM | 8+ GB | 30 |
| 4-8 GB | 22 | |
| Bilinmiyor | 18 | |
| CPU | 8+ çekirdek | 30 |
| Tarayıcı | Güncel sürüm | 30 |
| Ekran | 1920+ px | 10 |
Her iki puan ≥ 50
"Dinlemeye Hazırsınız"
Sadece bağlantı puanı < 50
"Bağlantınızda Sorun Var"
Sadece cihaz puanı < 50
"Cihazınızda Kısıtlamalar Var"
Her iki puan da < 50
"Dikkat Edilmesi Gereken Noktalar"
/api/muzibu/ping
Gecikme ölçümü için kullanılır. 5 kez çağrılır, ortalama alınır.
/api/muzibu/speed-test
Test sonuçlarını backend'e kaydeder. Non-blocking, 5sn timeout.
/themes/muzibu/speed-test-payload.bin
Download hızı testi için kullanılan statik dosya.
Upload hızı testi: Şu an sadece download ölçülüyor. Upload da eklenebilir (yorum/feedback gibi özellikler için önemli).
Geçmiş sonuçlar: Kullanıcının önceki test sonuçlarını görebileceği bir grafik/timeline eklenebilir.
WebRTC ile daha doğru ölçüm: Network Information API'ye ek olarak WebRTC ICE candidates ile daha hassas latency ölçümü yapılabilir.
Otomatik test: Kullanıcı sorun yaşadığında (buffering, hata) otomatik olarak mini test çalıştırılıp sonuç kaydedilebilir.