Mam witrynę, która odtwarza pliki mp3 w odtwarzaczu flash. Jeśli użytkownik kliknie „odtwórz”, odtwarzacz flash automatycznie pobierze plik mp3 i rozpocznie jego odtwarzanie.
Czy istnieje łatwy sposób na śledzenie, ile razy dany klip piosenki (lub jakikolwiek plik binarny) został pobrany?
Czy link do odtwarzania jest odsyłaczem do rzeczywistego pliku mp3, czy do jakiegoś kodu javascript, który wyświetla się w odtwarzaczu?
Jeśli to drugie, możesz łatwo dodać tam swój własny kod logowania, aby śledzić liczbę trafień.
Jeśli to pierwsze, potrzebujesz czegoś, co może śledzić dziennik serwera internetowego i dokonać tego rozróżnienia. Mój plan hostingowy obejmuje Webalizer, który ładnie to robi.
To kod javascript, więc to odpowiada.
Jednak dobrze byłoby wiedzieć, jak śledzić pobieranie przy użyciu innej metody (bez przełączania hostów).
$_REQUEST['file']
) z białą listą znanych, dobrych nazw plików. Na przykład lista wszystkich plików w katalogu, w którym przechowujesz pliki. Upewnij się, że używasz tylko tego katalogu do przechowywania plików, które chcesz pobrać ...Użyj plików dziennika httpd. Zainstaluj http://awstats.sourceforge.net/
źródło
Użyj basha:
grep mp3 /var/log/httpd/access_log | wc
źródło
Jeśli twoja piosenka / plik binarny był obsługiwany przez apache, możesz łatwo grepować access_log, aby sprawdzić liczbę pobrań. Prosty skrypt post-logrotate może grepować dzienniki i utrzymywać statystyki zliczania w bazie danych. Ma to przewagę wydajności, ponieważ nie znajduje się w ścieżce kodu żądania na żywo. Wykonywanie niekrytycznych rzeczy, takich jak statystyki offline, jest dobrym pomysłem na skalowanie witryny do dużej liczby użytkowników.
źródło
Mógłbyś nawet skonfigurować dyrektywę Apache .htaccess, która konwertuje żądania * .mp3 na querystring, z którym współpracuje dubayou. Może to być elegancki sposób na zachowanie bezpośredniego żądania i nadal możliwość włączenia funkcji dziennika do odpowiedzi.
źródło
Czy link do odtwarzania jest odsyłaczem do rzeczywistego pliku mp3, czy do jakiegoś kodu javascript, który wyświetla się w odtwarzaczu?
Jeśli to drugie, możesz łatwo dodać tam swój własny kod logowania, aby śledzić liczbę trafień.
Jeśli to pierwsze, potrzebujesz czegoś, co może śledzić dziennik serwera internetowego i dokonać tego rozróżnienia. Mój plan hostingowy obejmuje webalizer, który ładnie to robi.
źródło
Czy istnieje baza danych dla Twojej biblioteki muzycznej? Jeśli istnieje kod serwera, który działa podczas pobierania pliku mp3, możesz dodać tam dodatkowy kod, aby zwiększyć liczbę odtworzeń. Możesz również poprosić javascript o ponowne żądanie zwiększenia liczby odtworzeń, ale może to prowadzić do fałszywego zwiększania liczby ludzi / robotów.
Kiedyś pracowałem dla radia internetowego i używaliśmy oddzielnych tabel do śledzenia czasu odtwarzania każdej piosenki. Nasze strumienie były zasilane przez skrypt Perla uruchamiający icecast, więc wyzwalaliśmy żądanie bazy danych za każdym razem, gdy zaczynała się nowa ścieżka. Następnie, aby obliczyć liczbę odtworzeń, uruchamialiśmy zapytanie, aby policzyć, ile razy identyfikator utworu znajdował się w dzienniku odtwarzania.
źródło
Problem, który miałem z takimi rzeczami, jak AWStats / czytanie dzienników serwera internetowego polega na tym, że duże pliki do pobrania często mogą być podzielone na porcje danych w dziennikach. To sprawia, że ustalenie dokładnej liczby pobrań jest dość trudne.
Sugerowałbym śledzenie zdarzeń Google Analytics , ponieważ rejestracja odbywa się raz na kliknięcie linku pobierania.
źródło