정말 SDK를 사용하고 싶습니다. 그것은 충돌과 같은 모바일 애플 리케이션을 위해 유용 할 몇 가지 기능을 가지고 있습니다. 또한 데이터를 일괄 적으로 전송하여 배터리 사용을 개선하고 온라인 상태에서 앱이 오프라인 상태 일 때 조회수를 대기열로 보낼 수 있습니다. Javascript 구현으로는이를 에뮬레이트 할 수 없습니다.
그래서 WebView에서 응용 프로그램의 기본 부분으로 데이터를 보내는 Javascript 메서드를 작성해야합니다. This other Stack Overflow thread에는이를 수행하는 방법에 대한 자세한 내용이 있습니다.
그래서 Google 애널리틱스 상호 작용을 추적하는 자바 스크립트는 다음과 유사 할 수 있습니다.
var _gaq = {};
_gaq.push = function(arr){
var i, hit;
hit = arr.slice(1).join('&');
location.href = 'analytics://'+arr[0]+'?'+arr;
};
지금 이것은 당신이 당신의 웹 응용 프로그램에 _gaq 오늘 사용할 때 당신은 여전히 같은 API를 사용할 수 있습니다, 당신의 ga.js 파일을 대체 작동, 그리고 의지 위의 어댑터는 기본 테 위해 데이터를 전송 APP의 일부. 그런 다음 HTTP 요청을 차단하고 네이티브 SDK를 사용하여 Google 웹 로그 분석 기능을 실행하는 기본 부분을 작성하면됩니다.
보통 _gaq.push(['_trackPageview', '/homepage']);
은 analytics://_trackPageview?/homepage
과 같은 URI가됩니다. 이제 네이티브 부분에서 가로 채기와 구문 분석 만하면됩니다.
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
NSLog(@"Hit detected %@", url.absoluteString);
if ([[url scheme] isEqualToString:@"analytics"]) {
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
if ([url.host isEqualToString:@"_trackPageview"]) {
// Get the page from parameters and then track the native View.
// (...)
[tracker trackView:page];
}
else if ([url.host isEqualToString:@"_trackEvent"]) {
// Get the event parameters from url parameters and then track the native GA Event.
// (...)
[tracker trackEventWithCategory:cat
withAction:act
withLabel:lab
withValue:val];
}
// Check for all other analytics functions types
// (...)
// Cancel the request
return NO;
}
// Not an analytics: request.
return YES;
}
나는 그것이 당신에게 좋은 출발점이되기를 바랍니다. 행운을 빕니다.
혹시 하이브리드 앱에서 혼란 스러웠던 적이 있습니까? 라이브러리 지원이 아직 보이지 않습니다. 더 자세히 살펴 봐야합니다. \ – Vineet