הוספת Analytics לאפליקציית Android

במדריך הזה מוסבר איך להוסיף את Analytics לאפליקציה ל-Android כדי למדוד פעילות של משתמשים למסכים בעלי שם. אם עדיין אין לכם אפליקציה ואתם רוצים רק לראות איך Analytics פועל, תוכלו לעיין באפליקציה לדוגמה.

חובה: הגרסאות האחרונות של:

הגדרת הפרויקט

מעדכנים את הקובץ AndroidManifest.xml של הפרויקט כך שיכלול את ההרשאות INTERNET ו-ACCESS_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 Services ל-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} במזהה לצורכי מעקב.

הוספת מעקב אחר מסך

כאן צריך לשלוח ל-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, אבל חשוב לוודא שהוא מייצג כראוי צפייה במסך.

כדי לקבל את המכונה המשותפת של Tracker, צריך לשנות את ה-method onCreate של Activity או Fragment שאחריה רוצים לעקוב:

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

צריך לשנות את ה-method המתאים, למשל onResume ל-Activity או onPageSelected כדי ש-ViewPager יתועד כשהמסך משתנה.

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

צריך להוסיף קוד מעקב לכל Activity או Fragment שמייצג מסך. חשוב להגדיר שם בכל Activity או Fragment, אם רוצים להבדיל בין הצפיות במסך של האפליקציה ב-Analytics. כל פעילות שמתועדת במכשיר המעקב המשותף שולחת את שם המסך העדכני ביותר, עד להחלפה או למחיקה (הגדרה של null).

איך שולחים אירועים

כדי לשלוח אירוע, מגדירים את ערכי השדה של המסך במכשיר המעקב ושולחים את ההיט. הדוגמה הבאה משתמשת ב-HitBuilders.EventBuilder כדי לשלוח Event:

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

השלבים הבאים

  • במדריך להטמעת אפליקציות לנייד מוסבר איך להשתמש ב-Google Analytics כדי למדוד אינטראקציות של משתמשים ולענות על שאלות בקשר לשימוש באפליקציה.

  • סקירת אפשרויות הגדרה נוספות, כמו דגימה, בדיקה וניפוי באגים, הגדרות לביטול הסכמה וכו'.

  • אם האפליקציה צריכה לאסוף מזהי פרסום, צריך להפעיל עבור האפליקציה את תכונות הפרסום.