Thêm Analytics vào ứng dụng Android

Hướng dẫn này cho biết cách thêm Analytics vào ứng dụng Android để đo lường hoạt động của người dùng cho các màn hình được đặt tên. Nếu bạn chưa có ứng dụng và chỉ muốn xem cách hoạt động của Analytics, hãy xem ứng dụng mẫu của chúng tôi.

Bắt buộc: Phiên bản mới nhất của:

Thiết lập dự án

Cập nhật tệp AndroidManifest.xml của dự án để thêm các quyền 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>

Thêm phần phụ thuộc sau đây vào build.gradle cấp dự án:

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

Thêm phần phụ thuộc sau đây trên Dịch vụ Google Play vào app/build.gradle:

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

Tạo Global_tracker.xml

Tạo tệp app/src/res/xml/global_tracker.xml có nội dung sau:

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

Thay thế ${YOUR_TRACKING_ID} bằng mã theo dõi của bạn.

Thêm tính năng theo dõi màn hình

Ở đây, bạn sẽ gửi một chế độ xem màn hình đã đặt tên đến Analytics mỗi khi người dùng mở hoặc thay đổi màn hình trên ứng dụng. Mã của bạn sẽ thực hiện những việc sau:

  • Cung cấp trình theo dõi dùng chung thông qua một lớp con Application (Ứng dụng).
  • Ghi đè phương thức gọi lại cho hoạt động trên nền trước.
  • Đặt tên cho màn hình và thực hiện theo dõi.

Ứng dụng

Bạn nên phân lớp con Application và cung cấp phương thức trợ giúp trả về trình theo dõi của ứng dụng.</>

/*
 * 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;
  }
}

Hoạt động hoặc mảnh

Mở Hoạt động bạn muốn theo dõi. Bạn cũng có thể theo dõi Fragment, nhưng phải đảm bảo rằng chỉ số đó thể hiện chính xác lượt xem màn hình.

Ghi đè phương thức onCreate của Activity hoặc Fragment mà bạn muốn theo dõi để lấy thực thể Tracker dùng chung:

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

Ghi đè phương thức thích hợp, chẳng hạn như onResume cho Activity hoặc onPageSelected cho ViewPager để ghi nhật ký khi màn hình thay đổi.

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

Thêm mã theo dõi vào mỗi Activity hoặc Fragment đại diện cho một màn hình. Hãy nhớ đặt tên bên trong mỗi Activity hoặc Fragment nếu bạn muốn phân biệt giữa các lượt xem màn hình cho ứng dụng của mình trong Analytics. Mọi hoạt động được ghi trên trình theo dõi dùng chung sẽ gửi tên màn hình gần đây nhất cho đến khi được thay thế hoặc xoá (đặt thành null).

Gửi sự kiện

Để gửi một sự kiện, hãy đặt các giá trị trường màn hình trên trình theo dõi, rồi gửi lượt truy cập. Ví dụ sau đây sử dụng HitBuilders.EventBuilder để gửi một Event:

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

Các bước tiếp theo