與 Google Analytics (分析) 整合

您可以利用 Google Analytics (分析) 平台評估使用者在不同裝置上和環境中與貴公司互動的情形。Google Analytics (分析) 提供實用資源,協助您收集、儲存、處理及回報使用者互動資料。

這項服務可收集用戶端和伺服器端的數據分析資料。

收集用戶端的數據分析資料

Google Analytics API 和 SDK 能協助您評估使用者如何與您的內容及行銷活動互動。您可在 Google Analytics (分析) 使用者介面中查看使用者互動資料,或是使用 Reporting API 擷取資料。如要進一步瞭解您可收集哪些用戶端數據分析資料,請依照用戶端類型選取下列相應的連結:

  • Web Tracking (analytics.js):評估使用者與網站或網頁應用程式的互動情形。
  • Android:衡量使用者與 Android 應用程式的互動情況。
  • iOS:衡量使用者與 iOS 應用程式的互動情況。
  • Measurement Protocol:衡量使用者在任何環境中與這類低層級通訊協定的互動情況。

伺服器端分析數據收集

雖然 App Engine 提供用於記錄應用程式事件的機制,您仍然可以使用 Google Analytics (分析) 來追蹤其中特定伺服器端事件,如此您就能:

  • 分析歷史資料:App Engine 可讓您設定記錄檔的天數或大小上限。超過此上限後,您將無法存取這些記錄檔。而 Google Analytics (分析) 的追蹤事件功能,可讓您查看時間跨度較長的事件記錄。
  • 追蹤重要事件:由於應用程式的各種元件會將資料寫入記錄檔,因此這些檔案可能相當繁雜。事件追蹤功能可以讓您精確鎖定重要事件,並且進一步追蹤這些事件和某些中繼資料。
  • 在使用者介面中操作:Google Analytics (分析) 提供豐富的使用者介面,可用於視覺化、回報及匯出伺服器端事件。

如要啟用伺服器端分析數據收集,您可以透過 HTTP 用戶端使用 Google Analytics Measurement Protocol 發出 HTTP 要求。詳情請參閱 Google Analytics (分析) 開發人員指南的事件追蹤部分。

範例應用程式

下列範例應用程式顯示如何在 App Engine 應用程式中追蹤事件。應用程式會發出 HTTP 要求,並將事件相關資料發布於 Google Analytics (分析) 中。

在使用 App Engine 上的 Google Analytics Measurement Protocol 之前,請先執行下列操作:

  • 在本機上執行範例應用程式前,請先設定應用程式所需的環境變數:

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    
  • 您可以使用指令列在本機上執行範例程式碼。例如,如果您使用 Maven:

    mvn clean appengine:run
    

  • 您可以將下列程式碼整合至 App Engine 應用程式中,以將事件追蹤資料發佈至 Google Analytics (分析):

    @SuppressWarnings("serial")
    @WebServlet(name = "analytics", value = "")
    public class AnalyticsServlet extends HttpServlet {
    
      @Override
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
          throws IOException, ServletException {
        String trackingId = System.getenv("GA_TRACKING_ID");
        HttpClient client = HttpClientBuilder.create().build();
        URIBuilder builder = new URIBuilder();
        builder
            .setScheme("http")
            .setHost("www.google-analytics.com")
            .setPath("/collect")
            .addParameter("v", "1") // API Version.
            .addParameter("tid", trackingId) // Tracking ID / Property ID.
            // Anonymous Client Identifier. Ideally, this should be a UUID that
            // is associated with particular user, device, or browser instance.
            .addParameter("cid", "555")
            .addParameter("t", "event") // Event hit type.
            .addParameter("ec", "example") // Event category.
            .addParameter("ea", "test action"); // Event action.
        URI uri = null;
        try {
          uri = builder.build();
        } catch (URISyntaxException e) {
          throw new ServletException("Problem building URI", e);
        }
        HttpPost request = new HttpPost(uri);
        client.execute(request);
        resp.getWriter().println("Event tracked.");
      }
    }

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Java 適用的 App Engine 彈性環境文件