如何在Android应用中集成Google Analytics

Pra*_*ela 22 android google-analytics

您好我正在尝试集成Google Analytics,但我无法找到我的Google Analytics帐户中显示的任何分析数据.我正在使用下面提到的链接: -

developers.google.com链接1

一些链接1

一些链接2

developer.google链接2

但我无法获得结果,也无法获得正确的路径/方式或正确的详细教程,以了解如何在Android应用中集成Google Analytics.

我的代码如下: -

    public class MainActivity extends Activity {
    GoogleAnalytics tracker;

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

         // Get tracker.
        Tracker t = ((AnalyticsHelper) MainActivity.this.getApplication()).getTracker(
            TrackerName.APP_TRACKER);
     // Set the dispatch period in seconds.
        GAServiceManager.getInstance().setLocalDispatchPeriod(8);
    }

    @Override
    protected void onStart() {
        super.onStart();
        EasyTracker.getInstance(this).activityStart(this);
     // Set the dispatch period in seconds.
        GAServiceManager.getInstance().setLocalDispatchPeriod(8);
    }

    @Override
    protected void onStop() {
        super.onStop();
        EasyTracker.getInstance(this).activityStop(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Analytics Helper类如下: -

public class AnalyticsHelper extends Application {

     // The following line should be changed to include the correct property id.
    private static final String PROPERTY_ID = "UA-xxxxxxxx-x"; // My Property id.

    public static int GENERAL_TRACKER = 0;

    public enum TrackerName {
        APP_TRACKER, // Tracker used only in this app.
        GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
        ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
    }

    HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

    public AnalyticsHelper()
    {
        super();
    }

    synchronized Tracker getTracker(TrackerName trackerId) {
        if (!mTrackers.containsKey(trackerId)) {

            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            analytics.getLogger().setLogLevel(LogLevel.VERBOSE);
            Tracker t = null;
            if(trackerId==TrackerName.APP_TRACKER){
                t= analytics.getTracker(PROPERTY_ID);
            }
                 mTrackers.put(trackerId, t);
                }
        return mTrackers.get(trackerId);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在xml目录中的分析xml文件如下: -

    <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
            tools:ignore="TypographyDashes">

     <!--  The following value should be replaced with correct property id. -->
    <string name="ga_trackingId">UA-xxxxxxxx-X</string>

   <!--Enable automatic activity tracking-->
  <bool name="ga_autoActivityTracking">true</bool>

  <!--Enable automatic exception tracking-->
  <bool name="ga_reportUncaughtExceptions">true</bool>

</resources>
Run Code Online (Sandbox Code Playgroud)

任何帮助都将受到全心欢迎.提前致谢.

Pra*_*ela 9

那么问题中给出的上述代码效果很好.您需要做的就是设置代码并添加Jar文件将Google Analytics Jar文件下载到您的Lib.等待24至48小时.它会显示您已注册的应用程序的所有事件和分析.

编辑答案: -

创建Google Analytic帐户并下载Jar文件后,在应用程序的lib文件夹中添加Jar文件

Google Analytic Implementation: -

那么对于分析部分您只需要将analytic.xml文件包含在问题中提到的值文件夹中.

然后private EasyTracker easyTracker = null;MainActivity中定义.

现在在您的onCreate(Bundle savedInstanceState)方法中只需编写以下代码行.那么你也可以为任何Listners编写以下代码,例如任何Button Click.

    /*
    *For Google Analytics...
    */
    easyTracker = EasyTracker.getInstance(MainActivity.this); // It Tracks your Activity...
    easyTracker.send(MapBuilder.createEvent("SomeValue(StoryPage)",
            "SomeMoreValue(AuthorName) , "SomeMoreValueAgain(StoryTitle)", null).build()); //This line creates the event for keeping logs and other Analytical stuffs concerned to this Activity of Application...
//In the above example we had Tracked the session for the MainActivity and also Analysed how many time this activity was opened, which Author story and which Story was read.
Run Code Online (Sandbox Code Playgroud)

现在,在您的onStart()方法中,只需编写以下代码,即可启动Activity的跟踪和分析会话.

EasyTracker.getInstance(this).activityStart(this);
Run Code Online (Sandbox Code Playgroud)

现在在您的onStop()方法中,只需编写以下代码,它将关闭或停止此活动的跟踪会话.

EasyTracker.getInstance(this).activityStop(this);
Run Code Online (Sandbox Code Playgroud)

现在,您可以跟踪和分析您的应用程序和活动.