Google跟踪代码管理器会抛出“无效的宏”消息

时间:2013-09-18 22:41:44

标签: android google-tag-manager

我一直在试用Google Tag Manager移动设备,特别是Android,但在getString(myKeyValue上尝试Container时,我收到的消息称“无效宏”。

以下是我的MainActivity中代码的一部分:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtHello = (TextView)findViewById(R.id.txtHello);
        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                String hello = mContainer.getString("hello");
                long l = mContainer.getLong("long");
                txtHello.setText(hello + l);
            }
        });
        tagManager = TagManager.getInstance(this);
        ContainerOpener.openContainer(tagManager, CONTAINER_ID, OpenType.PREFER_NON_DEFAULT, null, new ContainerOpener.Notifier() {


        @Override
        public void containerAvailable(Container container) {
            mContainer = container;

        }

    });


}

我在清单中添加了这些权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

我有正确的Container_id,因为它以编程方式刷新后显示正确的版本。

这是我的assets / tagmanager / CONTAINER_ID.json文件(当然使用正确的文件名):

{
'hello': 'hola',
 'long' : '12345679'

}

所以在我的容器初始化之后,我按下一个运行上面代码的按钮,试图获取值。但我得到错误:“无效的宏:你好”和“无效的宏:长”,也 “无法将''转换为数字”

这是针对移动设备的新服务,但有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:6)

我发现我的案子有问题。我刚刚从网络浏览器管理器下载了一个版本。 重要的是添加允许GTM使用此宏的规则Always在这里派上用场。

不要忘记发布您的容器版本

答案 1 :(得分:3)

对于那些没有得到 dumazy 引用

的人

enable custom variables

您还需要使用Always或任何其他适当的规则启用它

答案 2 :(得分:0)

在你的json中你正在使用&#39; 123456&#39;配额定义长,你不应该:

{
    'string': 'hola',
    'long': 123456,
    'double': 123.123
}

如果您还有其他问题,请查看:Android TagManager not getting default values