我正在尝试使用 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];
然后statisticsFinished看起来像:
NSLog(@"Cookies: %@", request.requestCookies);
NSLog(@"Redircount: %d", [request redirectCount]);
NSLog(@"Responsecode %d %@\nMsg: %@", request.responseStatusCode,
request.responseStatusMessage, [request responseString]);
我得到的所有信息看起来都是正确的。Cookie 已设置,redirectcount 第一次为 1(因为它重定向到s.analytics.yahoo.com/itr.pl?....
普通浏览器)。然后重定向计数为 0 用于后续请求,直到应用程序重新启动并清除会话。响应字符串返回GIF89a
。
即使数据看起来正确,雅虎仍然不会跟踪。只要我直接在浏览器中调用跟踪 URL,它就会按预期工作。
我意识到 Flurry 是一个更好的选择,但在这种情况下我不得不使用 Yahoo。此外,使用 UIWebView 可能会起作用,但我反对仅出于跟踪目的而放入 webview。
ASIHTTPRequest 和 Safari 处理对简单 URL 的调用的方式有什么不同吗?或者您是否看到任何其他可以解释为什么跟踪不起作用的东西?