2016-12-07 53 views
0

我在我的android應用程序中集成了Google Analytics。我們遇到了一個問題,Google Analytics會在第二次點擊時自動添加「sc = start」。這會在Google Analytics中產生2個會話,而用戶只會執行一個會話。谷歌分析發送錯誤的會話控制參數

我嘗試更改分析代碼,並嘗試打開不同的屏幕。

這是我使用發送屏幕瀏覽到GA代碼:

public static void sendAnalyticsScreenView(String screenName) { 
    Tracker tracker = ErosApplication.getInstance().getTracker(); 
    if (tracker != null) { 
     tracker.setScreenName(screenName); 
     Map<String, String> build = new HitBuilders.ScreenViewBuilder().build(); 
     tracker.send(build); 
    } 
} 

瞭解getTracker方法在應用類中定義:

public synchronized Tracker getTracker() { 
    if (mTracker == null) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(ErosApplication.getInstance()); 
     mTracker = analytics.newTracker(R.xml.app_tracker); 
     mTracker.enableAdvertisingIdCollection(true); 
    } 
    return mTracker; 

} 

我也試過初始化谷歌分析和跟蹤在應用程序的onCreate:

@Override 
public void onCreate() { 
    ActivityLifecycleCallback.register(this); 
    super.onCreate(); 

    sInstance = this; 

    GoogleAnalytics.getInstance(this).initialize(); 
    getTracker(); 
} 

這是從終端記錄的數據從GA:

12-07 11:37:02.861 D/GAv4 (18509): Hit delivery requested: ht=1481090822674, _s=0, _v=ma10.0.84, a=353190215, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=splash_screen, cid=2c02b7ba-9cac-4a10-b360-604a9390c2c1, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 
12-07 11:37:02.921 D/GAv4 (18509): Hit sent to the device AnalyticsService for delivery 
12-07 11:37:04.601 D/GAv4 (18509): Hit delivery requested: ht=1481090824407, _s=1, _v=ma10.0.84, a=353190216, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=new_intro, cid=2c02b7ba-9cac-4a10-b360-604a9390c2c1, sc=start, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 

我還試圖調用logScreenView方法在啓動畫面在同一個地方的4倍,這樣的:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_splash); 
    AnalyticsHelper.logScreenView(getResources().getString(R.string.screen_splash)); 
    AnalyticsHelper.logScreenView(getResources().getString(R.string.screen_splash)); 
    AnalyticsHelper.logScreenView(getResources().getString(R.string.screen_splash)); 
    AnalyticsHelper.logScreenView(getResources().getString(R.string.screen_splash)); 
} 

終端日誌:

12-07 11:42:26.635 D/GAv4 (24760): Hit delivery requested: ht=1481091146460, _s=0, _v=ma10.0.84, a=639766606, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=splash_screen, cid=6e9f3ca7-a87a-47bd-a80d-1619e6d9ac64, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 
12-07 11:42:26.645 D/GAv4 (24760): Hit delivery requested: ht=1481091146461, _s=1, _v=ma10.0.84, a=639766607, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=splash_screen, cid=6e9f3ca7-a87a-47bd-a80d-1619e6d9ac64, sc=start, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 
12-07 11:42:26.665 D/GAv4 (24760): Hit delivery requested: ht=1481091146461, _s=2, _v=ma10.0.84, a=639766608, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=splash_screen, cid=6e9f3ca7-a87a-47bd-a80d-1619e6d9ac64, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 
12-07 11:42:26.665 D/GAv4 (24760): Hit delivery requested: ht=1481091146461, _s=3, _v=ma10.0.84, a=639766609, adid=5b2dae2c-79bd-4412-9c8b-bda72e961564, aid=com.tf.eros.faythTv, an=House of God, ate=1, av=1.4.2, cd=splash_screen, cid=6e9f3ca7-a87a-47bd-a80d-1619e6d9ac64, sf=100.0, sr=1080x1920, t=screenview, tid=UA-80650025-7, ul=en-in, v=1 

的「SC GA正在添加「start」參數,導致會話編號不正確。請建議解決方案。

回答

0

問題是,我在activity的onCreate方法中發送screenView命中,但它應該從onResume方法發送。將屏幕視圖的分析代碼從onCreate移動到onResume解決了問題。