Şarkı 60 saniye dinlendikten sonra otomatik olarak
muzibu_song_plays tablosuna kayıt ekleniyor.
✅ Backend endpoint: /api/muzibu/songs/{id}/track-progress
✅ Frontend trigger: startProgressTracking() fonksiyonu
✅ Tetiklenme süresi: 60 saniye
✅ Sadece üyeler için çalışır (auth:sanctum gerekli)
Kullanıcı play tuşuna bastı, şarkı çalmaya başladı.
Her 100 milisaniyede bir çalma süresi kontrol ediliyor.
Frontend backend'e POST isteği gönderiyor.
Database'e yeni kayıt ekleniyor.
| Tarih | Toplam Dinleme |
|---|---|
| 2025-11-27 | 4 |
| 2025-11-26 | 8 |
| 2025-11-25 | 9 |
| 2025-11-24 | 8 |
| 2025-11-23 | 7 |
| Song ID | User ID | Device | Tarih | Saat |
|---|---|---|---|---|
| 3 | 7 | desktop | 2025-11-27 | 01:46:31 |
| 5 | 7 | desktop | 2025-11-27 | 01:29:06 |
| 9 | 1 | desktop | 2025-11-26 | 23:28:11 |
| 4 | 1 | desktop | 2025-11-26 | 16:36:49 |
| 4 | 1 | mobile | 2025-11-26 | 13:36:49 |
| 4 | 1 | tablet | 2025-11-26 | 13:09:49 |
| 3 | 1 | mobile | 2025-11-26 | 08:50:49 |
player-core.js
trackSongPlay(songId)
startProgressTracking() içinde
SongStreamController
trackProgress()
POST /api/muzibu/songs/{id}/track-progress
muzibu_song_plays tablosu
Guest kullanıcılar için tracking yapılmaz. Sadece auth:sanctum ile giriş yapmış kullanıcılar.
User-Agent'tan device tipi tespit ediliyor: mobile, tablet, desktop
playTracked = true flag'i ile aynı şarkı için tekrar tracking yapılmaz.
Yeni şarkı başladığında playTracked = false reset ediliyor.
IP, User-Agent, Device Type kaydediliyor. Analytics raporları için hazır veri.
Şarkı en az 60 saniye dinlendiğinde kayıt yapılıyor. Kısa tıklamalar sayılmaz.
✅ Evet! Sistem mükemmel çalışıyor.
✅ Şarkı 60 saniye dinlendikten sonra otomatik olarak
muzibu_song_plays tablosuna kayıt ekleniyor.
✅ Son 5 günde 36 dinleme kaydedilmiş (gerçek veri).
✅ Device detection (mobile/tablet/desktop) çalışıyor.
✅ Sadece üyeler için tracking yapılıyor (guest hariç).