Я пытаюсь отследить событие в своем приложении с помощью Yahoo Web Analytics. Код, который я использую, выглядит как
ASIHTTPRequest *yahooTrack = [ASIHTTPRequest requestWithURL:
[NSURL URLWithString:@"http://s.analytics.yahoo.com/p.pl?a=xxxxxxxxxxxxx&js=no&b=yyyyyyyyyyyy&cf6=zzzzzzzzzzz"]];
yahooTrack.didFinishSelector = @selector(statisticsFinished:);
yahooTrack.delegate = self;
[yahooTrack startAsynchronous];
Тогда статистика закончена выглядит так:
NSLog(@"Cookies: %@", request.requestCookies);
NSLog(@"Redircount: %d", [request redirectCount]);
NSLog(@"Responsecode %d %@\nMsg: %@", request.responseStatusCode,
request.responseStatusMessage, [request responseString]);
И вся информация, которую я получаю, выглядит правильно. Cookies установлены, redirectcount равен 1 в первый раз (так как он перенаправляет на s.analytics.yahoo.com/itr.pl?....
, что делает обычный браузер). Тогда redirectcount будет 0 для последующего запроса, пока приложение не будет перезапущено и сеанс не очищен. ResponseString возвращает GIF89a
.
Даже если данные выглядят правильно, Yahoo все равно не будет отслеживать. Как только я вызываю URL-адрес отслеживания прямо в браузере, он работает как положено.
Я понимаю, что Flurry - лучший вариант, но я вынужден использовать Yahoo в этом случае. Кроме того, использование UIWebView, вероятно, будет работать, но я против размещения веб-просмотра только для целей отслеживания.
Есть ли разница в том, как ASIHTTPRequest и Safari будут обрабатывать вызов простого URL-адреса, как этот? Или вы видите что-нибудь еще, что может объяснить, почему не работает отслеживание?