我只是按照this教程将Google Analytics SDK v4添加到Android应用中。现在的问题是,当我运行应用程序时,它只会在我设置跟踪的任何视图上显示黑屏。例如,下面是启动屏幕后第一个视图中的onCreate,onStart和onStop方法。启动画面加载很好,然后我在视图上得到一个黑屏。如果您注释掉分析代码一切正常
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.landing_screen);
//Get a Tracker (should auto-report)
//Define font for use
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/cabinregular.otf");
//Set font to all elements
((TextView) findViewById(R.id.textFlat)).setTypeface(typeface);
((TextView) findViewById(R.id.textCool)).setTypeface(typeface);
((TextView) findViewById(R.id.textWarm)).setTypeface(typeface);
((TextView) findViewById(R.id.textPastels)).setTypeface(typeface);
((TextView) findViewById(R.id.textDecades)).setTypeface(typeface);
((TextView) findViewById(R.id.textNeutrals)).setTypeface(typeface);
((TextView) findViewById(R.id.textMidTones)).setTypeface(typeface);
//((TextView) findViewById(R.id.appHeaderText)).setTypeface(typeface);
//Create all the listeners to catch button presses
ImageButton buttonFlat = (ImageButton) findViewById(R.id.buttonFlat);
buttonFlat.setOnClickListener(this);
ImageButton buttonCool = (ImageButton) findViewById(R.id.buttonCool);
buttonCool.setOnClickListener(this);
ImageButton buttonWarm = (ImageButton) findViewById(R.id.buttonWarm);
buttonWarm.setOnClickListener(this);
ImageButton buttonPastels = (ImageButton) findViewById(R.id.buttonPastels);
buttonPastels.setOnClickListener(this);
ImageButton buttonDecades = (ImageButton) findViewById(R.id.buttonDecades);
buttonDecades.setOnClickListener(this);
ImageButton buttonNeutrals = (ImageButton) findViewById(R.id.buttonNeutrals);
buttonNeutrals.setOnClickListener(this);
ImageButton buttonMidTones = (ImageButton) findViewById(R.id.buttonMidTones);
buttonMidTones.setOnClickListener(this);
((colorlibApplicationClass) getApplication()).getTracker(colorlibApplicationClass.TrackerName.APP_TRACKER);
}
public void onStart()
{
super.onStart();
//Get an Analytics tracker to report app starts & uncaught exceptions etc.
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}
public void onStop()
{
super.onStop();
//Stop the analytics tracking
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}
这是应用程序类;
package com.exampleapp.colorlib;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
import java.util.HashMap;
public class colorlibApplicationClass extends Application {
// The following line should be changed to include the correct property id.
private static final String PROPERTY_ID = "UA-REMOVED-FOR-SECURITY";
//Logging TAG
private static final String TAG = "MyApp";
public static int GENERAL_TRACKER = 0;
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER,// Tracker used by all the apps from a company. eg: roll-up tracking.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public colorlibApplicationClass() {
super();
}
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(R.xml.app_tracker)
: (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(PROPERTY_ID)
: analytics.newTracker(R.xml.ecommerce_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
答案 0 :(得分:13)
这是上一版本的问题。查看here了解详情。
同时也许使用旧版本会更好。这个工作正常:
compile&#39; com.google.android.gms:play-services:6.1。+&#39;
编辑:从AndroidManifest中删除全局配置元数据工作正常。