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

dum*_*azy 8 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;

        }

    });


}
Run Code Online (Sandbox Code Playgroud)

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

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)

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

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

{
'hello': 'hola',
 'long' : '12345679'
Run Code Online (Sandbox Code Playgroud)

}

因此,在我的容器初始化之后,我按下一个运行上面代码的按钮,试图获取值.但我得到错误:"无效的宏:你好"和"无效的宏:长",还"无法转换''到一个数字"

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

dum*_*azy 6

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

不要忘记发布容器的版本