借助Google Analytics for iOS v2,Google建议将其GAITrackedViewController类继承为子类UIViewController.在UITableViewController的情况下我们做什么?
#import "GAITrackedViewController.h"
@interface AboutViewController : GAITrackedViewController
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的反应网站上设置Google Analytics,并且遇到了一些软件包,但是没有一个软件包具有我在示例方面的设置.希望有人可以对此有所了解.
我正在看的包是,react-ga.
我的渲染方法index.js看起来像这样.
React.render((
<Router history={createBrowserHistory()}>
<Route path="/" component={App}>
<IndexRoute component={Home} onLeave={closeHeader}/>
<Route path="/about" component={About} onLeave={closeHeader}/>
<Route path="/gallery" component={Gallery} onLeave={closeHeader}/>
<Route path="/contact-us" component={Contact} onLeave={closeHeader}>
<Route path="/contact-us/:service" component={Contact} onLeave={closeHeader}/>
</Route>
<Route path="/privacy-policy" component={PrivacyPolicy} onLeave={closeHeader} />
<Route path="/feedback" component={Feedback} onLeave={closeHeader} />
</Route>
<Route path="*" component={NoMatch} onLeave={closeHeader}/>
</Router>), document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud) 当有人填写表单并点击提交时,我需要跟踪Google Analytics中的事件.出现的结果页面是标准的仪表板类型页面,因此为了跟踪该页面上的事件,我必须在URL中传递事件,然后读取URL并输出谷歌分析事件跟踪javascript代码基于它.这是一个经常被加入书签的页面和重新加载,点击回来的页面等等.所以我真的不会在URL中传递跟踪事件并搞砸了分析.
相反,我更愿意在页面上使用以下形式执行以下jQuery代码:
$('#form_id').submit(function() {
_gaq.push('_trackEvent', 'my category', 'my action');
});
Run Code Online (Sandbox Code Playgroud)
我担心上面的问题是,我将错过一些被跟踪的事件,因为在调用javascript后,浏览器将立即提交表单并转到另一个网页.如果没有及时加载utm.gif跟踪图像,我会错过这个事件:(.
我的恐惧是否合理?我如何确保不会错过被跟踪的事件?
我想使用Google的新测量协议从我的服务器而不是JavaScript发送跟踪事件.
此页面显示客户端ID是必需的:https: //developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
此页面说明它是可选的:https: //developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
另外,这些文档中定义的格式不同 - 第一页给出一个整数作为示例,只是说它是"一个唯一值",而第二个链接表示它应该是一个UUID.
如果我在后端发送用户ID或生成的UUID,Google会如何知道将该访问者链接到现有的访问者会话?好像我需要检索GA对现有用户的内部引用.
任何帮助表示赞赏 - 谢谢!
请参阅指南https://developers.google.com/analytics/devguides/collection/analyticsjs/custom-dims-mets
我找不到任何方法来跟踪自定义变量,例如旧跟踪js"ga.js":https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables
_setCustomVar(index, name, value, opt_scope)
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
谢谢!
我相信就在今天谷歌发布了他们的iOS Analytics框架工作(3.0版)的新更新.当我按照说明并尝试运行代码时,我得到:
对于架构的ARMv7未定义的符号: "_inflate",从引用:在libGoogleAnalyticsServices.a(NSData的+ zlib.o) "_deflate",L002从参照:L001在libGoogleAnalyticsServices.a(NSData的+ zlib.o) " inflateInit2 ",从参考:lib00GoogleAnalyticsServices.a(NSData + zlib.o)中的l002"_deflateEnd",引自:libGoogleAnalyticsServices.a中的l001(NSData + zlib.o)"_ OBJC_CLASS _ $ _ ASIdentifierManager",引用自:libGoogleAnalyticsServices.a中的objc-class-ref (TAGAdvertiserId.o)libGoogleAnalyticsServices.a中的objc-class-ref(TAGAdvertisingTrackingEnabledMacro.o)libGoogleAnalyticsServices.a(TAGMobileAdwordsUniqueIdMacro.o)中的objc-class-ref
"_inflateEnd",引自:liboogleAnalyticsServices.a中的l002(NSData + zlib. o)"_SCNetworkReachabilityCreateWithName",引自:libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)l002(TAGNetReachability.o)"_SCNetworkReachabilitySetCallback",引自:libGoogleAnalyt中的l027 icsServices.a(GAIReachabilityChecker.o)l002在libGoogleAnalyticsServices.a(TAGNetReachability.o)l003中的libGoogleAnalyticsServices.a(TAGNetReachability.o)" deflateInit2 ",引用自:libinogleAnalyticsServices.a中的l001(NSData + zlib.o)"_SCNetworkReachabilityScheduleWithRunLoop" ,引自:libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)l002(TAGNetReachability.o)"_SCNetworkReachabilityUnscheduleFromRunLoop",引自:libGoogleAnalyticsServices.a中的liboogleAnalyticsServices.a(GAIReachabilityChecker.o)l003中的l027(TAGNetReachability.o) )ld:找不到架构armv7 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
可能他们忘了包含我需要添加的lib?(他们忘记改变指令的其他一些方面).否则他们按照他们的指示去发球台,但仍然没有得到所需的结果.
我正在编写一个应该嵌入其他人的网站(一种小部件)的Web应用程序.我正在使用Google Analytics跟踪在嵌入网站上访问我脚本的所有实例的所有人.问题是我不知道如何使用它,因此它不会干扰这些网站自己的Google Analytics帐户.我将跟踪器变量存储在命名空间中,所以我认为应该这样做,但我没有意识到GA将其设置存储在cookie中(__ utma,__ utmz等),并且这些cookie由两个跟踪器使用,如果在同一页面上有两个...例如,如果我使用_setVar在Google Analytics中存储某种用户定义的变量,并且嵌入网站也是如此,我们会覆盖彼此的值......
当然,如果谷歌提供了一种将cookie的名称更改为自定义的方法,那将是最简单的,但我找不到任何方法来做到这一点.我想过使用cookie域或路径强制单独的cookie,但这不起作用,因为如果我将域或路径设置为真实域/路径以外的其他内容,则重新加载后该页面的cookie不可读. ..
有没有人知道在一个页面上有两个跟踪器并让它们使用单独的cookie以便它们不会覆盖彼此的设置?
或者,如果那是完全不可能的 - 是否有任何其他分析服务具有与GA类似的功能?(它必须具有事件和广告系列跟踪等高级功能......)
是否可以使用谷歌分析跟踪像页面这样的哈希链接?
例如,我希望index.php /#1,index.php /#2和index.php /#3都显示为单个页面点击,其中包含在页面上花费的个人时间.
如果没有简单的方法,我如何使用jquery将跟踪事件添加到onclick事件?我还能以这种方式获得"页面"信息的准确时间吗?
我在我的新Swift 2.0项目中使用谷歌的一些外部代码,在早期版本中需要"libz.dylib".更新到新的XCode /新SDK后.
XCode现在无法导入libz.dylib并抛出一些错误
架构i386的未定义符号:"_ deflate",引用自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_ deflateEnd"中,引自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel: mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)" deflateInit2 "中,引自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_inflate"中,引自:+ [GAICompressionUtil在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_inflateEnd"中的gai_dataByInflatingBytes:length:isRawData:],引自:+ [GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)" inflateInit2 "中,引用自:+ libGoogleAnalyticsServices.a中的[GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:](GAICompressionUtil.o)ld:symbol(s)找不到架构i386 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
在查看"构建阶段"设置中的可用包时,我可以找到"libz.tbd",它似乎是libz.dylib的替代品.导入此lib时,链接器错误保持不变,但我收到此额外警告:
警告:正在跳过文件'/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/libz.tbd'(意外文件类型'text'in框架和库构建阶段)
知道该怎么办?
我正在尝试使用角度为4的Google Analytics,但我在ts中找不到任何@type到ga.js.
为了快速解决方案,我在每个组件中使用了它:
declare let ga: any;
Run Code Online (Sandbox Code Playgroud)
按照我如何解决它:
创建一个动态加载GA的函数,将GA脚本与当前的trackingId和user一起插入.
loadGA(userId) {
if (!environment.GAtrackingId) return;
let scriptId = 'google-analytics';
if (document.getElementById(scriptId)) {
return;
}
var s = document.createElement('script') as any;
s.type = "text/javascript";
s.id = scriptId;
s.innerText = "(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', { trackingId: '" + **environment.GAtrackingId** + "', cookieDomain: 'auto', userId: '" + **userId** + "'});ga('send', 'pageview', '/');";
document.getElementsByTagName("head")[0].appendChild(s);
}
Run Code Online (Sandbox Code Playgroud)
创建服务以实现您需要的方法.
import { Injectable } from '@angular/core';
import { environment } from '../../../environments/environment';
declare let ga: any;
@Injectable()
export class GAService { …Run Code Online (Sandbox Code Playgroud) google-analytics ×10
javascript ×3
ios ×2
jquery ×2
analytics ×1
angular ×1
cookies ×1
ios9 ×1
iphone ×1
react-router ×1
reactjs ×1
swift ×1
swift2 ×1
typescript ×1
widget ×1