分派

本文說明如何使用 Google Analytics (分析) SDK v4 (適用於 Android) 管理將資料分派至 Google Analytics (分析)。

總覽

使用 Android 專用 Google Analytics (分析) SDK v4 收集到的資料會先儲存在本機,再另外分派給 Google Analytics (分析) 使用。

必須在每個資料檢視當地時區的隔天上午 4 點前分派及接收資料。凡是之後收到的資料都不會顯示在報表中。舉例來說,如果命中在本機中午 11:59 加入佇列,則命中必須在 4 小時內 (上午 3:59) 分派在報表中。另一方面,在上午 12:00 時排入佇列的命中必須在 28 小時內 (例如隔天凌晨 3:59),分派才能在報表中顯示。

定期派遣

根據預設,系統每 30 分鐘就會從 Android 版的 Google Analytics (分析) SDK v4 分派資料。

如何透過程式輔助方式設定分派週期:

// Set the dispatch period to 90 seconds.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(90);

如要在 XML 設定檔中設定分派期間:

<integer name="ga_dispatchPeriod">30</integer>

如果設定零或負值,就會停用定期調度功能;如果您要傳送任何資料到 Google Analytics (分析),則必須使用手動調度

// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0);

如果使用者在尚未分派的命中資料的情況下遺失網路存取權或關閉應用程式,則這些命中資料會保留在本機儲存空間中。系統會在您下次執行應用程式並呼叫調度器時,分派這些錯誤。

手動調度

如要手動分派命中,例如,如果您知道裝置無線電已用於傳送其他資料,請按照下列步驟操作:

GoogleAnalytics.getInstance(this).dispatchLocalHits();

背景調度

如要在非 Google Play 裝置上執行的應用程式啟用背景調度功能,請在設定檔 ApplicationManifest.xml 中:

  • 取得 WAKE_LOCK 權限。
  • 註冊 AnalyticsReceiver
  • 註冊 AnalyticsService

例如:

<manifest>
  <!-- ... -->

  <!-- Get permission for reliable local dispatching on non-Google Play devices. -->
  <uses-permission android:name="android.permission.WAKE_LOCK" />

  <application name="com.example.MyApp">
    <!-- Register AnalyticsReceiver and AnalyticsService to support background
         dispatching on non-Google Play devices. -->
    <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
      android:enabled="true">
      <intent-filter>
        <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
      </intent-filter>
    </receiver>
    <service android:name="com.google.android.gms.analytics.AnalyticsService"
      android:enabled="true"
      android:exported="false"/>

    <!-- ... -->
  </application>
</manifest>