簡體   English   中英

flurry記錄會話但不記錄事件(android)

[英]flurry logs sessions but not events (android)

我正在使用FLurry_3.2.2.jar ,並在每個Activity都有這樣的代碼。 它正確記錄所有會話,但不記錄事件。 (實際上,它從我的Home活動記錄了一次 ,一次)

@Override
protected void onStart()
{
    super.onStart();
    FlurryAgent.onStartSession(this, Utilities.FlurryKey);
    FlurryAgent.logEvent("Home");
}
@Override
protected void onStop()
{
    super.onStop();
    FlurryAgent.onEndSession(this);
}

你的代碼看起來正確。 在這些情況下,我發現最可能的原因是您的完整會話未被發送到Flurry服務器。 您可能正在獲取初始會話報告,但會話在應用程序生命周期結束時關閉,並且僅在此時,事件也會發送到服務器。

您需要確保在每個活動上調用onStartSessiononEndSession 如果在任何活動(特別是onEndSession)上錯過了這些活動,您的會話可能不會關閉,並且可能不會發送活動。

所有活動都已停止,會話結束時發送事件。 您需要確保在測試設備上完全結束您的應用程序,然后才能看到任何事件到達服務器。 如果您尚未執行此操作,則事件數據可能仍未保留在您的設備上。

Flurry SDK還輸出可能有助於縮小問題范圍的日志。 您可以使用FlurryAgent.setLogEnabled(true)FlurryAgent.setLogLevel(Log.DEBUG)啟用日志記錄。

如果您有更多問題,請隨時聯系support@flurry.com。

免責聲明:我在亂舞中工作:)

Hello Guys我用計時器構建類來向Flurry Server發送數據。 它解決了我所有的問題。

public class TimerFlurry {

    private static final String TAG = "TIMER FLURRY";
    private Handler handler = new Handler();
    private Runnable runnable = null;
    private boolean stop = false;

    public TimerFlurry(final Context ctx) {
        Log.d(TAG, "TimerFlurry.TimerFlurry()");

        runnable = new Runnable() {

            boolean inicializou = false;

            @Override
            public void run() {
                if (stop) {
                    Log.d(TAG, "parou Handler!!!");
                    FlurryAgent.onEndSession(ctx);
                    inicializou = false;
                    return;
                }

                Log.d(TAG, "!!!!!!!!!!!!!!!!!!! .run() now: " + new Date());
                if (!inicializou) {
                    Log.d(TAG, ">>>>> inicializou Flurry Session!!!");
                    FlurryAgent.setContinueSessionMillis(5000);
                    FlurryAgent.onStartSession(ctx, "XXXXXXXXXXXXXXXXXXXX");
                    FlurryAgent.setLogEnabled(true);
                    FlurryAgent.setLogLevel(Log.DEBUG);
                    inicializou = true;
                    handler.postDelayed(runnable, 60000);
                } else {
                    Log.d(TAG, "!!!!!!!!!!!!! finalizou Flurry Session!!!");
                    FlurryAgent.onEndSession(ctx);
                    inicializou = false;
                    handler.postDelayed(runnable, 10000);// inicializa em 10 s
                                                            // novamente para
                                                            // dar o timeout do
                                                            // flurry
                }
            }
        };

        handler.postDelayed(runnable, 5000);
    }

    public void stop() {
        stop = true;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM