Ich habe eine Website, die MP3s in einem Flash-Player abspielt. Wenn ein Benutzer auf "Abspielen" klickt, lädt der Flash Player automatisch eine MP3-Datei herunter und beginnt mit der Wiedergabe.
Gibt es eine einfache Möglichkeit zu verfolgen, wie oft ein bestimmter Songclip (oder eine Binärdatei) heruntergeladen wurde?
Ist der Wiedergabelink ein Link zur eigentlichen MP3-Datei oder zu einem Javascript-Code, der einen Player öffnet?
In letzterem Fall können Sie dort ganz einfach Ihren eigenen Protokollcode hinzufügen, um die Anzahl der Treffer zu verfolgen.
In ersterem Fall benötigen Sie etwas, mit dem das Webserverprotokoll selbst verfolgt und diese Unterscheidung getroffen werden kann. Mein Hosting-Plan kommt mit Webalizer, was dies gut macht.
Es ist ein Javascript-Code, der darauf antwortet.
Es wäre jedoch schön zu wissen, wie Downloads mit der anderen Methode verfolgt werden können (ohne den Host zu wechseln).
$_REQUEST['file']
) mit einer Whitelist von bekanntermaßen guten Dateinamen zu vergleichen . Zum Beispiel eine Liste aller Dateien in dem Verzeichnis, in dem Sie Ihre Dateien speichern. Stellen Sie sicher , dass Sie nur das Verzeichnis verwenden , zum Speichern von Dateien Sie heruntergeladen werden sein wollen ...Verwenden Sie Ihre httpd-Protokolldateien. Installieren Sie http://awstats.sourceforge.net/
quelle
Bash verwenden:
grep mp3 /var/log/httpd/access_log | wc
quelle
Wenn Ihr Song / Ihre Binärdatei von Apache bereitgestellt wurde, können Sie das access_log leicht durchsuchen, um die Anzahl der Downloads zu ermitteln. Ein einfaches Skript nach dem Protokollieren kann die Protokolle erfassen und Ihre Zählstatistiken in einer Datenbank verwalten. Dies hat den Leistungsvorteil, da Sie sich nicht in Ihrem Live-Anforderungscodepfad befinden. Unkritische Dinge wie Statistiken offline zu machen, ist eine gute Idee, um Ihre Website auf eine große Anzahl von Benutzern zu skalieren.
quelle
Sie können sogar eine Apache .htaccess-Direktive einrichten, die * .mp3-Anforderungen in den Querystring konvertiert, mit dem Dubayou arbeitet. Dies ist möglicherweise eine elegante Möglichkeit, die direkte Anforderung beizubehalten und dennoch die Slipstream-Protokollfunktion in die Antwort einzubeziehen.
quelle
Ist der Wiedergabelink ein Link zur eigentlichen MP3-Datei oder zu einem Javascript-Code, der einen Player öffnet?
In letzterem Fall können Sie dort ganz einfach Ihren eigenen Protokollcode hinzufügen, um die Anzahl der Treffer zu verfolgen.
In ersterem Fall benötigen Sie etwas, mit dem das Webserverprotokoll selbst verfolgt und diese Unterscheidung getroffen werden kann. Mein Hosting-Plan kommt mit Webalizer, was dies gut macht.
quelle
Gibt es eine Datenbank für Ihre Musikbibliothek? Wenn beim Herunterladen der MP3-Datei ein Servercode ausgeführt wird, können Sie dort zusätzlichen Code hinzufügen, um die Anzahl der Wiedergaben zu erhöhen. Sie könnten auch Javascript eine zweite Anfrage stellen lassen, um die Anzahl der Spiele zu erhöhen, aber dies könnte dazu führen, dass Personen / Roboter die Anzahl fälschlicherweise erhöhen.
Ich habe für eine Internet-Radio-Site gearbeitet und wir haben separate Tabellen verwendet, um die Zeit zu verfolgen, zu der jedes Lied gespielt wurde. Unsere Streams wurden von einem Perl-Skript mit Icecast unterstützt, sodass wir jedes Mal eine Datenbankanforderung auslösten, wenn ein neuer Titel abgespielt wurde. Um dann die Anzahl der Wiedergaben zu berechnen, führten wir eine Abfrage durch, um zu zählen, wie oft sich die ID eines Songs im Wiedergabeprotokoll befand.
quelle
Das Problem, das ich mit Dingen wie AWStats / Lesen von Webserver-Protokollen hatte, ist, dass große Downloads häufig in Datenblöcke innerhalb der Protokolle aufgeteilt werden können. Dies macht es ziemlich schwierig, die genaue Anzahl der Downloads abzustimmen.
Ich würde die Google Analytics- Ereignisverfolgung vorschlagen , da diese einmal pro Klick auf einen Download-Link registriert wird.
quelle