gpt4 book ai didi

javascript - AngularJS 谷歌分析动态跟踪器

转载 作者:行者123 更新时间:2023-12-03 15:58:20 30 4
gpt4 key购买 nike

我正在尝试在我的 Angular 应用程序中设置两个分析跟踪器。我的要求之一是为每个登录到应用程序的用户设置一个跟踪器,该应用程序将页面跟踪和事件数据转发到配置时已知的静态跟踪器。但是,一旦用户登录,就需要在运行时设置第二个跟踪器。它需要将分析数据发送到与其帐户关联的跟踪器。

我是使用谷歌分析的新手,并认为它就像将 ga 命令队列推送到跟踪器一样简单,但在阅读了分析开发人员文献后,我似乎必须明确地将页面跟踪命令发送到两个跟踪器。

所以我没有重新发明轮子,而是看 revolunet/angular-google-analytics 希望它能解决我的问题。但是,它提示没有在运行时设置跟踪器。我尝试使用
AnalyticsProvider.delayScriptTag(true);
然后改变数组
Analytics.configuration.accounts;
在运行时,但似乎没有任何效果。

如果有人过去有过这方面的经验,请告诉我,我正在寻找一个干净的 Angular-ish 解决方案,除了在 ga 命令队列周围放置一个包装器,除非这是我最好的选择。

谢谢!

最佳答案

回复有点晚了,但对那些可能会有所帮助的人,我最终创建了一个 analyticsService负责设置动态跟踪器。为了让它工作,我在我的应用程序的 config 中添加了以下内容

AnalyticsProvider.delayScriptTag(true);
AnalyticsProvider.ignoreFirstPageLoad(true);
AnalyticsProvider.setPageEvent('$stateChangeSuccess');

这延迟了自动跟踪的初始化。然后我 fork 了 angular-google-analytics并添加了以下代码
this._kickOffAutoTracking = function() {
// activates page tracking
if (trackRoutes) {
$rootScope.$on(pageEvent, function () {
that._trackPage();
});
}
};

最后在我的 analyticsService我提出了我的 API 请求,获取了用户的跟踪器并将其添加如下:
Analytics.setAccount([
{ tracker: DEFAULT_TRACKER, name: "defaultTracker", trackEvent: true },
{ tracker: user.analyticCode, name: "userTracker" }
])

Analytics.createAnalyticsScriptTag();
Analytics.kickOffAutoTracking();

这是一个快速而肮脏的解决方案。

关于javascript - AngularJS 谷歌分析动态跟踪器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222426/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com