我现在遇到的主要问题是使用Google Analytics(分析):
现有的本地代码使用GA SDK for IOS,我计划使用Web API作为Web部件,但是我无法找到如何在GA中一起使用这两个通道的数据,因为数据存储看起来是不同的.
此外,我打算使用Google Analytics(分析)的内容实验来测试网络部分的A / B,但转换目标可能是在本机部分实现的.
任何人都有混合应用或替代解决方案的分析经验.
谢谢
解决方法
所以你需要写的是将数据从WebView发送回应用程序的本机部分的Javascript方法. This other Stack Overflow thread有更多的细节如何做到这一点.
因此,跟踪Google Analytics(分析)互动的JavaScript可能看起来像这样.
var _gaq = {}; _gaq.push = function(arr){ var i,hit; hit = arr.slice(1).join('&'); location.href = 'analytics://'+arr[0]+'?'+arr; };
现在,这将作为您的ga.js文件的替代品,您仍然可以使用与您在Web App上的_gaq上使用的API相同的API,并且上述适配器将其数据发送到APP的本地部分.然后,您只需编写将拦截该HTTP请求的本机部分,并使用本机SDK发布Google Analytics(分析)功能.
一个普通的_gaq.push([‘_ trackPageview’,’/ homepage’]);将成为一个uri,如分析:// _ trackPageview?/ homepage,现在你只需要拦截和解析在Native部分.
- (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; }
我希望给你一个很好的起点.祝你好运.
原文地址:https://www.jb51.cc/iOS/336454.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。