我跟踪访问者的用户名,我想将网页上的用户名数据传递给我的活动方法。传递这些数据的正确方法是什么?Android Webview将标题数据传递给Google Analytics
(把HTML页面隐藏的DIV中的用户名和数据解析网页是我最后的选择,我不喜欢它)
我用网页视图在我的Android应用程序。我加载这样的网址:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
...
String url = "http://example.com";
webView.postUrl(url, EncodingUtils.getBytes(myPostData, "base64"));
...
}
我的页面响应中有一些自定义标题。响应标头有:
header('User name: michael');
如果页面已成功加载,我需要从响应中获取该标题并将其作为自定义维度在Google Analytics中使用。
EasyTracker easyTracker = EasyTracker.getInstance();
easyTracker.send(MapBuilder
.createAppView("Home screen")
.set(Fields.customDimension(1), "michael");
.build()
);
我的问题是什么是正确的方法?是否有可能从onPageFinished中获取它并将此标头设置在Google Analytics代码中,或者有更好的方法吗?我接受任何与此结构兼容的方法/解决方案。
请注意,我重写了我的活动,这些方法的工作原理:
WebViewClient::onPageStarted(WebView view, String url, Bitmap favicon)
WebViewClient::onPageFinished(WebView view, String url)
WebViewClient::shouldOverrideUrlLoading(WebView view, String url)
WebViewClient::onLoadResource(WebView view, String url)
WebViewClient::onReceivedError(WebView view, int errorCode, String description, String failingUrl)
WebChromeClient::onProgressChanged(WebView view, int newProgress)
编辑:
这里有一个类似的答案是3岁:https://stackoverflow.com/a/3134609/429938
但它提供赶头在shouldOverrideUrlLoading
。是不是可以在onPageFinished中捕获它?或者,我怎么能与Webview.postUrl()
EDIT2使用它:
另一种解决方案是从javascript代码使用addJavascriptInterface,并设置用户名并设置活动内谷歌分析代码。但这是一个Android特定的解决方案。我宁愿在IOS中使用的通用解决方案等
您所要求的内容在Google Analytics服务条款下是被禁止的。 http://www.google.com/analytics/terms/us.html“您不会(...)使用服务跟踪,收集或上传任何个人识别个人身份的数据(...)或其他数据可以合理地链接到这些信息由谷歌“ – Eduardo
用户名只是一个例子来表达我的问题。我使用analaytics设置了不同的使用数据。 – trante