2014-12-11 28 views
8

Tôi vừa theo dõi this hướng dẫn thêm SDK Google Analytics v4 vào ứng dụng android. Vấn đề bây giờ là khi tôi chạy ứng dụng nó chỉ cung cấp cho một màn hình màu đen trên bất kỳ xem tôi đã thiết lập với theo dõi. Ví dụ dưới đây là các phương thức onCreate, onStart và onStop từ khung nhìn đầu tiên sau màn hình splash. Màn hình giật gân tải tốt, sau đó tôi chỉ nhận được một màn hình màu đen trên màn hình. Nếu bạn đã nhận xét mã phân tích, mọi thứ hoạt độngAndroid Google Analytics Gây Màn hình đen

@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); 
    } 

Đây là lớp ứng dụng;

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

Bạn có thể đăng logcat không? – AesSedai101

+0

Nhật ký trống. – jskrwyk

Trả lời

13

Đó là vấn đề của phiên bản cuối cùng. Kiểm tra here để biết thêm thông tin.

Trong khi đó, có thể tốt hơn nên sử dụng phiên bản cũ hơn. Cái này hoạt động tốt:

biên dịch 'com.google.android.gms: play-dịch vụ: 6.1 +.'

Chỉnh sửa: Xóa cấu hình siêu dữ liệu toàn cầu từ AndroidManifest làm việc tốt.

+0

Khi tôi xóa siêu dữ liệu cấu hình chung, nó hoạt động trở lại nhưng không gửi màn hình đúng cách. Thay đổi Gradle sang phiên bản 6.1 dường như hoạt động và gửi màn hình. – jskrwyk

Các vấn đề liên quan