当前位置: 首页 > 面试题库 >

使用Google Analytics(分析)跟踪片段

晏修诚
2023-03-14
问题内容

只需知道实施Google Analytics(分析)的正确方法即可实时跟踪用户何时处于碎片中,这就是现在要做的

@Override
public void onResume() {
    super.onResume();
    Tracker myTracker = parentActivity.getTracker();
    myTracker.setCustomMetric(1, (long) 1);               
    myTracker.sendView("Music View"); 
}

getTracker类在我的主活动中,并且仅在主活动中返回tracker的实例

任何帮助将非常感激!


问题答案:

Mochini的答案使用的是Google Analytics(分析)V2。在下面,您可以看到如何在V4和V3上执行此操作:

  • V4

应用:

    public class YourApplication extends Application
    {
        public synchronized Tracker getTracker() {

            try {
                final GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(this);
                return googleAnalytics.newTracker(R.xml.analytics);

            }catch(final Exception e){
                Log.e(TAG, "Failed to initialize Google Analytics V4");
            }

            return null;
        }
    }

res / xml / analytics.xml (您可以将其命名为任何名称,无需将其称为“ analytics”)

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

      <!--Replace placeholder ID with your tracking ID-->
      <string name="ga_trackingId">UA-XXXXXXXX-X</string>

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

      <!--Disable automatic exception tracking-->
      <bool name="ga_reportUncaughtExceptions">false</bool>

    </resources>

build.gradle:

    compile 'com.google.android.gms:play-services:7.3.0'

片段超类:

public abstract class TrackedFragment extends Fragment{

    @Override
    public void onResume() {

        super.onResume();

        final Tracker tracker = yourApplicationInstance.getTracker();
        if(tracker != null){

            tracker.setScreenName(getClass().getSimpleName());
            tracker.send(new HitBuilders.ScreenViewBuilder().build());
        }
    }
}
  • V3
        import android.os.Bundle;
    import android.support.v4.app.Fragment;

    import com.google.analytics.tracking.android.EasyTracker;
    import com.google.analytics.tracking.android.Fields;
    import com.google.analytics.tracking.android.MapBuilder;
    import com.google.analytics.tracking.android.Tracker;

    public abstract class TrackedFragment extends Fragment{

         private Tracker tracker;

         @Override
         public void onActivityCreated(final Bundle savedInstanceState) {

             super.onActivityCreated(savedInstanceState);

             this.tracker = EasyTracker.getInstance(getActivity());
         }

         @Override
         public void onResume() {

             super.onResume();

             this.tracker.set(Fields.SCREEN_NAME, getClass().getSimpleName());
             this.tracker.send( MapBuilder.createAppView().build() );
         }
    }

来源:https://developers.google.com/analytics/devguides/collection/android/v3/migration



 类似资料:
  • 问题内容: 我正在更改网站的很大一部分以使用jQuery Address的深层链接AJAX功能。我正在使用URI之类的。 我已经阅读了很多有关使用此功能跟踪流量的信息,但是我想知道是否有可能以更传统的方式进行此操作… 每个AJAX请求都调用一个PHP函数,该函数生成一个页面并通过包装返回它,这使我可以轻松定义自定义页面标题等。 如果我将分析代码放在该页面上,jQuery会调用该页面来触发它来跟踪访

  • 在Google Analytics(分析)跟踪Ver1中,它具有类。 但当我使用Google Analytics Tracking Ver2时,它没有类。我不知道我应该用哪门课来代替。 在使用Google Analytics跟踪时声明的清单中: 你能帮帮我吗。

  • 有许多客户端站点使用其主域的类似系统以及托管在其他地方的外部签出软件。他们的分析充满了来自主要领域的自我推荐。例如 我有一个主域,在其中我拥有全部控制权。这有一个使用Universal Analytics的Google Tag Manager实现。第二个域是一个预订系统,使用经典分析。 我无法控制预订系统上的分析是如何实现的(除了设置跟踪ID),但开发人员说它设置为使用跨域跟踪。它们的实施有: 我

  • 问题内容: 我正在使用AngularJS作为前端设置一个新应用。客户端上的所有操作都是通过HTML5 pushstate完成的,我希望能够在Google Analytics(分析)中跟踪页面浏览量。 问题答案: 如果您在Angular应用中使用,则可以监听事件并将跟踪事件推送到Google Analytics(分析)。 假设您已经在主index.html文件中设置了名称为的跟踪代码,并且MyCtr

  • 在我的android应用程序中,我有一个活动,它有3或4个片段,可以根据一些用户或服务器事件按顺序附加。 我想在firebase中将所有这些片段作为屏幕进行跟踪。 因此,理想情况下,如果可能的话,是否有一个API我可以在片段的onCreate中调用,并告诉firebase用户当前处于fraction1,fragment2或fracment3中?

  • 本章介绍如何使用Zipkin或Jaeger收集启用了Istio的应用程序的调用链信息。 完成本章后,你可以理解有关应用程序的所有假设以及如何使其参与跟踪,无论您使用何种语言/框架/平台构建应用程序。 BookInfo示例用来作为此任务的示例应用程序。 环境准备 参照安装指南的说明安装Istio。 如果您在安装过程中未启动Zipkin或Jaeger插件,则可以运行以下命令启动: 启动Zipkin: