2016-12-07 55 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解决了问题。