如何解决Google跟踪代码管理器自定义模板和幅度事件日志记录
我正在尝试使用Google跟踪代码管理器中“自定义模板”带来的惊人功能来组织用于记录振幅事件的标记。
我曾经有一个类似的代码:振幅.getInstance()。logEvent(eventTitle,{args})
但是,由于使用沙箱javascript,我们无法直接访问振幅。
所以我尝试做:
const callInWindow = require('callInWindow');
const copyFromWindow = require('copyFromWindow');
const amplitude = copyFromWindow('amplitude');
callInWindow('amplitude.getInstance().logEvent',eventTitle,args);
我对:赋予了全部权限
- 振幅
- amplitude.getInstance
- amplitude.getInstance.logEvent
我发现的唯一解决方法是以以下方式使用API的不推荐使用的版本:振幅.logEvent。
const callInWindow = require('callInWindow');
const copyFromWindow = require('copyFromWindow');
const amplitude = copyFromWindow('amplitude');
callInWindow('amplitude.logEvent',args);
它可以正常工作,但基于Amplitude宣布的弃用,我不知道要花多长时间:https://amplitude.github.io/Amplitude-JavaScript/Amplitude#amplitudelogevent
有人知道我怎么能在js沙箱中先获取振幅.getInstance的实例,然后使用它的logEvent功能进行调用吗?
我们将非常感谢您的帮助。
干杯!
解决方法
此代码能解决您的问题吗?
const callInWindow = require('callInWindow');
const args = data.args.reduce((result,item) => {
result[item.key] = item.value;
return result;
},{});
const amplitudeInstance = callInWindow('amplitude.getInstance');
amplitudeInstance.logEvent(data.eventTitle,args);
data.gtmOnSuccess();
您需要一个名为eventTitle
的文本字段和一个带有args
和key
文本列的名为value
的表,此代码才能正常工作。
模板需要amplitude.getInstance
的执行权限,仅此而已。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。