我已经实施了谷歌任务管理器来触发自定义事件,我已经按照google doc中提到的每个步骤进行了操作,但是事情不起作用,事件未记录在谷歌分析仪表板中。如果有人实施过它,请帮助我们完成这项任务。
TagManager tagManager = TagManager.getInstance(this);
tagManager.setVerboseLoggingEnabled(true);
PendingResult<ContainerHolder> pending =
tagManager.loadContainerPreferNonDefault("GTM-YOUR-KEY",
R.raw.gtm_your_key);
pending.setResultCallback(new ResultCallback<ContainerHolder>() {
@Override
public void onResult(ContainerHolder containerHolder) {
Container container = containerHolder.getContainer();
if (!containerHolder.getStatus().isSuccess()) {
Log.e("CuteAnimals", "failure loading container");
//displayErrorToUser(R.string.load_error);
return;
}
containerHolder.setContainerAvailableListener(new ContainerHolder.ContainerAvailableListener() {
@Override
public void onContainerAvailable(ContainerHolder containerHolder, String s) {
DataLayer dataLayer = TagManager.getInstance(getApplicationContext()).getDataLayer();
// pushing event here
}
});
containerHolder.refresh();
}
}, 15000, TimeUnit.MILLISECONDS);
答案 0 :(得分:1)
您的代码看起来很好,如果您检查了容器,这必须是Google代码管理器容器的问题,请检查您的容器事件值它应该是数字,而不是字符串。例如,移动值 - 操作 - 单击:{{GTM - 单击目标}},标签 - {{GTM - 单击值}},并将值保留为空,这将解决您的问题。