New Google Analytics 4 SDK

I'm having trouble setting up Google Analytics in an Android app. Can someone help me and point me to an example code or tutorial. I'm trying to follow this one

Here is my code:

package com.examp2.testq;

import java.util.HashMap;

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

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



}

public enum TrackerName {
    APP_TRACKER, // Tracker used only in this app.

  }

  HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
  synchronized Tracker getTracker(TrackerName trackerId) {
        if (!mTrackers.containsKey(trackerId)) {

          GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
          Tracker t = (trackerId == TrackerName.APP_TRACKER) ?         analytics.newTracker(PROPERTY_ID)
              : 
          mTrackers.put(trackerId, t);

        }
        return mTrackers.get(trackerId);
      }

I'm not sure what to do with the PROPERTY identifier, or what should I call it? Thank you

+4
source share
3 answers

Place the following line inside MainActivity:

    private static final String PROPERTY_ID = "UA-xxxxx-x";
    private Tracker tracker;
    HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

replacing UA-xxxxx-x with the tracking ID for your application.

I use Google Analytics in an application that is only one screen, so my MainActivity onCreate method looks like this:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     

    GoogleAnalytics.getInstance(this).newTracker(PROPERTY_ID);
    GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
    tracker = getTracker(TrackerName.APP_TRACKER);
    tracker.setScreenName("MainActivity");
    tracker.send(new HitBuilders.AppViewBuilder().build());

    setContentView(R.layout.main);
    //...etc.

Google Analytics.

:

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

<application> <manifest> AndroidManifest.xml:

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

Google <application> .

    <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version" />

, Android Studio, Google proguard-rules.txt:

    -keep class * extends java.util.ListResourceBundle {
        protected Object[][] getContents();
    }

    -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
        public static final *** NULL;
    }

    -keepnames @com.google.android.gms.common.annotation.KeepName class *
    -keepclassmembernames class * {
        @com.google.android.gms.common.annotation.KeepName *;
    }

    -keepnames class * implements android.os.Parcelable {
        public static final ** CREATOR;
    }

... build.gradle file:

    apply plugin: 'android'
    ...

    dependencies {
        compile 'com.android.support:appcompat-v7:+'
        compile 'com.google.android.gms:play-services:4.3.23'
    }
+13

- UA-XXXXXX-Y. , webproperty .. Google Analytics. , .

. xml . , public Tracker newTracker (int configResId)

- public Tracker newTracker (String trackingId). .

+1

Source: https://habr.com/ru/post/1535170/


All Articles