0
我对这个Google跟踪代码管理器的新东西很陌生,而且我的耳朵纠结在试图测试它。 以下是我所做的:使用Google跟踪代码管理器和dataLayer进行Android开发
- 创建一个GTM帐户;
- 创建一个容器;
- 创建自定义图片标签;
- 将规则始终添加到自定义图像标签;
现在,这里是我的代码:
package com.google.android.tagmanager.examples.helloworld;
import com.google.tagmanager.Container;
import com.google.tagmanager.ContainerOpener;
import com.google.tagmanager.ContainerOpener.OpenType;
import com.google.tagmanager.TagManager;
import com.google.tagmanager.DataLayer;
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import com.google.android.gms.ads.identifier.AdvertisingIdClient.Info;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.telephony.*;
import android.provider.*;
/**
* An {@link Activity} that reads background and text color from a local
* Json file and applies those colors to text view.
*/
public class MainActivity extends Activity {
private static final String TAG = "GTMExample";
private static final String CONTAINER_ID = "GTM-PJNXHL";
private static final String OS = "os";
private static final String DEVICE_IMEI = "device_imei";
private static final String DEVICE_ANDROID_ID = "device_android_id";
private static final String GOOGLE_AD_ID = "google_ad_id";
private static String deviceImei = "";
private static String androidId = "";
private static String googleAdId = "";
// Set to false for release build.
private static final Boolean DEVELOPER_BUILD = true;
private Container container;
private DataLayer dataLayer;
private TelephonyManager telephonyManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (DEVELOPER_BUILD) {
StrictMode.enableDefaults();
}
// iau singletonul de tagmanager
TagManager tagManager = TagManager.getInstance(this);
ContainerOpener.ContainerFuture containerFuture = ContainerOpener.openContainer(
tagManager, CONTAINER_ID, OpenType.PREFER_NON_DEFAULT, null);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
// This call may block (for up to the timeout specified in
// ContainerOpener.openContainer). For an example that shows how to use a splash
// screen to avoid blocking, see cuteanimals example.
container = containerFuture.get();
dataLayer = tagManager.getDataLayer();
// Modify the background-color and text-color of text based on the value
// from configuration.
updateVars();
}
private void updateVars() {
Log.i(TAG, "image_test");
TextView textView = (TextView) findViewById(R.id.hello_world);
textView.setText(OS);
}
public void colorButtonClicked(View view) {
Log.i(TAG, "colorButtonClicked");
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Getting vars");
deviceImei = telephonyManager.getDeviceId();
androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
Info adInfo = null;
try {
adInfo = AdvertisingIdClient.getAdvertisingIdInfo(this.getBaseContext().getApplicationContext());
} catch (Exception e) {
System.out.println(e.getMessage());
}
googleAdId = adInfo.getId();
alertDialog.setMessage(deviceImei);
dataLayer.push(DEVICE_IMEI, deviceImei);
dataLayer.push(DEVICE_ANDROID_ID, androidId);
dataLayer.push(GOOGLE_AD_ID, googleAdId);
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,
"OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
updateVars();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
我想是推deviceImei,androidId和googleAdId使用数据层。
我的问题是:
- 如何测试和看到的数据是使用数据层推开?
- 我该如何测试并查看标记是否已经从dataLayer中的数据被触发?
- 我在哪里测试以查看标签已被分类?
谢谢!
你是什么意思,everytging是正确的? – Gabriel 2014-10-31 11:11:05
您可以在Google Analytics事件代码的类别,操作和标签字段中使用您的数据。因此,如果所有数据都是正确的,您可以在Google Analytics的事件报告中找到 – mrbubu 2014-12-22 22:08:51
@ mrbubu,您可以发布一个示例说明我们如何实现这一目标。 – Pankaj 2015-02-26 12:11:42