Проблема Google Analytics для Android с отправкой () - PullRequest
7 голосов
/ 09 ноября 2010

При использовании Google Analytics для Android, если я использую

tracker.start("UA-YOUR-ACCOUNT-HERE", 20, this)

, то каждые 20 секунд события будут отправляться автоматически, даже если я не делаю это вручную, используя

tracker.dispatch()

Мой вопрос: что произойдет, если пользователь закроет мое приложение в течение 20 секунд?будет ли он отправлен?

или мне нужно будет вручную отправить все ожидающие события, когда пользователь пытается выйти?

Ответы [ 4 ]

6 голосов
/ 09 апреля 2011

Вам не нужно ничего делать - события сохраняются и будут объединены вместе со следующей диспетчеризацией, которая произойдет в вашем приложении (предположительно, в следующий раз, когда пользователь запустит приложение).

Обратите внимание, что серверы аналитики помечают время обращения, основываясь на том, когда они получают данные, а не на том, когда событие действительно произошло. Так что, если ваши пользователи используют приложение пару минут в день, посещения, которые произошли 10-го числа, могут отображаться в аналитике на 11-е и т. д.

Обновление: Чтобы уточнить поведение при вызове tracker.stop (), он не отправляет ожидающие события в этот момент. Они остаются во внутренней базе данных sqlite и выходят первыми, когда диспетчер вызывается при следующем запуске вашего приложения. Причина, по которой они не запускаются при остановке трекера, заключается в том, что это добавит время разрушаемому действию, что сделает приложение менее чувствительным при выходе. Это также причина, по которой вы должны тщательно подумать, прежде чем отправлять в методе onDestroy.

4 голосов
/ 10 марта 2011

tracker.stop () не отправляет данные.Я также советую поместить tracker.dispatch () в метод onDestroy ()

  @Override
  protected void onDestroy() {
    super.onDestroy();
    tracker.dispatch();
    // Stop the tracker when it is no longer needed.
    tracker.stop();
  }

source: http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=70a919f5b097f5dc&hl=en

2 голосов
/ 07 января 2011

Рекомендуется останавливать трекер, когда ваше приложение уничтожено, используя следующее:

  @Override
  protected void onDestroy() {
    super.onDestroy();
    // Stop the tracker when it is no longer needed.
    tracker.stop();
  }

Я предполагаю, что это будет отправлять любые ожидающие события.

1 голос
/ 12 июля 2012

Этот код поможет вам .....

public class TestActivity extends Activity { 

   GoogleAnalyticsTracker tracker; 


      protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 

        tracker = GoogleAnalyticsTracker.getInstance(); 

        // Start the tracker in manual dispatch mode... 
        tracker.startNewSession("UA-33332745-1", this); 

        setContentView(R.layout.main); 
        Button createEventButton = (Button)findViewById(R.id.NewEventButton); 
        createEventButton.setOnClickListener(new OnClickListener() { 

          public void onClick(View v) { 
            tracker.trackEvent( 
                "Clicks",  // Category 
                "Button",  // Action 
                "clicked", // Label 
                77);       // Value 
          } 
        }); 

        Button createPageButton = (Button)findViewById(R.id.NewPageButton); 
        createPageButton.setOnClickListener(new OnClickListener() { 

          public void onClick(View v) {        
            // Add a Custom Variable to this pageview, with name of "Medium" and value "MobileApp" 
            tracker.setCustomVar(1, "Medium", "Mobile App");         
            tracker.trackPageView("/testApplicationHomeScreen"); 
          } 
        }); 

        Button quitButton = (Button)findViewById(R.id.QuitButton); 
        quitButton.setOnClickListener(new OnClickListener() { 

          public void onClick(View v) { 
            finish(); 
          } 
        }); 

        Button dispatchButton = (Button)findViewById(R.id.DispatchButton); 
        dispatchButton.setOnClickListener(new OnClickListener() { 

          public void onClick(View v) { 
            tracker.dispatch(); 
          } 
        }); 
      } 


      protected void onDestroy() { 
        super.onDestroy(); 
        // Stop the tracker when it is no longer needed. 
        tracker.stopSession(); 
      } 
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...