Почему HttpWebRequest не попадает в Google Analytics или Piwik при отслеживании показателей настольных приложений? - PullRequest
0 голосов
/ 23 декабря 2011

Последнее, что мое приложение делает перед запуском, - это запускает новый поток, который выполняет простой запрос HttpWebRequest, который я хотел бы отслеживать с помощью Google Analytics или Piwik:

Thread thread2 = new Thread(new ThreadStart(this.ThreadAnalytics));
thread2.IsBackground = true; thread2.Start();

public void ThreadAnalytics()
{
    try
    {
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://netlauncher.org/version1.0.0.html");
    request.Method = "GET";
    WebResponse response = request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream(),System.Text.Encoding.UTF8);
    string result = sr.ReadToEnd();
    sr.Close();
    response.Close();
    }
    catch (Exception) { /* do nothing */ }
}

Примечание. Хотя StreamReader не требуетсяЯ включил его для целей тестирования.

Я вижу HTTP GET с помощью WireShark, однако я ничего не вижу в Google Analytics.Это привело меня к мысли, что это проблема с Java.Я переключился на Piwik и использовал их Image Tracker Code, который не требует Java:

<img src="http://mydomain.com/piwik.php?idsite=1&rec=1" style="border:0" alt="" />

Как и в Google Analytics, я могу перейти на эту страницу с помощью IE для Firefox и увидеть появление попадания.Однако хит из моего приложения не делает.Я также попытался указать пользовательский агент, язык и т. Д. Есть ли что-то, что я просматриваю?

1 Ответ

1 голос
/ 23 декабря 2011

Google Analytics также не требует Java (он использует JavaScript).

Проблема заключается в том, что GA, Piwik и большинство других аналитических инструментов требуют, чтобы ресурс, загружаемый какчасть HTML-страницы - обычно изображение или вызов JavaScript.Только читая ответ HTTP, ваш код в настоящее время не загружает какие-либо зависимые ресурсы, которые будут использоваться одним из этих инструментов.

Google Analytics может предоставить API, который вы можете вызывать напрямую для того, что выпопытки.Точно так же с вашим кодом Piwik вы можете заставить его работать, напрямую вызывая URL-адрес http://mydomain.com/piwik.php?idsite=1&rec=1 как часть вашего запроса HttpWebRequest - вместо вызова HTML-страницы, содержащей ссылку на изображение с этим URL-адресом.В противном случае вам нужно будет использовать дополнительный код или библиотеки, чтобы действовать как браузер и фактически «загружать» HTML-код, полученный в ответ на ваш запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...