本文件說明舊版 Android SDK。如果您是第一次使用 Analyitcs,請使用最新的 SDK。瞭解詳情

將 Analytics (分析) 加進您的 Android 應用程式

本指南說明如何在 Android 應用程式中加入 Analytics (分析),以測量已命名使用者的活動。如果您還沒有應用程式,且想瞭解 Analytics (分析) 的運作方式,請參考範例應用程式

必要:最新版本的

設定專案

更新專案的 AndroidManifest.xml 檔案,以納入 INTERNETACCESS_NETWORK_STATE 權限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.analytics">

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  <application android:name="AnalyticsApplication">
    ...
  </application>
</manifest>

將以下依附元件新增至專案層級的 build.gradle

dependencies {
  // ...
  classpath 'com.google.gms:google-services:3.0.0'
}

將下列 Google Play 服務依附元件新增至 app/build.gradle

dependencies {
  // ...
  compile 'com.google.android.gms:play-services-analytics:10.2.4'
}

建立 global_tracker.xml

使用下列內容建立 app/src/res/xml/global_tracker.xml 檔案:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>

請將 ${YOUR_TRACKING_ID} 替換成您的追蹤 ID。

新增螢幕追蹤

每當使用者開啟或變更應用程式中的畫面時, 您就會傳送已命名的畫面檢視給 Analytics (分析)。您的程式碼應該 執行以下動作:

  • 透過應用程式子類別提供共用追蹤器。
  • 覆寫前景活動的回呼方法。
  • 提供畫面名稱並執行追蹤。

應用程式

您應該將 Application 設為子類別,並提供可傳回應用程式追蹤工具的輔助方法。</>

/*
 * Copyright Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;

/**
 * This is a subclass of {@link Application} used to provide shared objects for this app, such as
 * the {@link Tracker}.
 */
public class AnalyticsApplication extends Application {

  private static GoogleAnalytics sAnalytics;
  private static Tracker sTracker;

  @Override
  public void onCreate() {
    super.onCreate();

    sAnalytics = GoogleAnalytics.getInstance(this);
  }

  /**
   * Gets the default {@link Tracker} for this {@link Application}.
   * @return tracker
   */
  synchronized public Tracker getDefaultTracker() {
    // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
    if (sTracker == null) {
      sTracker = sAnalytics.newTracker(R.xml.global_tracker);
    }

    return sTracker;
  }
}

活動或片段

開啟您要追蹤的活動。您也可以追蹤 Fragment,但請確保其能正確呈現畫面瀏覽。

覆寫要追蹤的 ActivityFragmentonCreate 方法,以取得共用的 Tracker 執行個體:

// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();

覆寫適當的方法,例如,適用於 ActivityonResume,或 ViewPager 在螢幕變更時記錄 onPageSelected

Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());

在每個代表畫面的 ActivityFragment 中加入追蹤程式碼。如要在 Analytics (分析) 中區分應用程式的畫面瀏覽,請務必在每個 ActivityFragment 內設定一個名稱。在共用追蹤程式中記錄的所有活動都會傳送最新的畫面名稱,直到取代或清除為止 (設為 null)。

傳送活動

如要傳送事件,請在追蹤器上設定畫面欄位值,然後傳送命中。 下列範例使用 HitBuilders.EventBuilder 傳送 Event

mTracker.send(new HitBuilders.EventBuilder()
    .setCategory("Action")
    .setAction("Share")
    .build());

後續步驟

  • 請參閱行動應用程式導入指南,瞭解如何使用 Google Analytics (分析) 評估使用者互動,並回答應用程式使用情況的相關問題。

  • 查看其他設定選項,例如取樣、測試和偵錯、選擇停用等。

  • 如果應用程式需要收集廣告 ID,請為應用程式啟用廣告功能