Google Analytics для Android выпускает с отправкой ()

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

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

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

 tracker.dispatch() 

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

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

Solutions Collecting From Web of "Google Analytics для Android выпускает с отправкой ()"

Tracker.stop () не отправляет данные. Мой совет – также добавить tracker.dispatch () в метод onDestroy ()

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

Источник: http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=70a919f5b097f5dc&hl=ru

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

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

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

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

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

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

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

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