如何实现谷歌TagManager在Android应用程序 [英] How to Implement Google TagManager in Android Application

查看:163
本文介绍了如何实现谷歌TagManager在Android应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要实现我的Andr​​oid应用程序谷歌代码管理和谷歌分析。

我完全新的分析和谷歌tagmanager。我下面这些链接
LINK1 ,的链接2
通过这次我得到了关于谷歌代码管理和谷歌Analytics(分析)的一些基本理念。

我所做的是:结果
我创建了两个谷歌TagManager帐户和Analytics帐户。
创建于TagManager和Analytics帐户所有的基本的一步。
此外,我加入libGoogleAnalyticsServices这个文件到项目中的项目文件中的资产lib和GTM容器。

现在我需要的是。什么是所有C $ CS,我需要在我的应用程序添加$?而且,我需要补充这一点。我在src创建了一个分离式的java文件,我添加了这code

 进口com.google.android.gms.analytics.Logger;
进口com.google.android.gms.analytics.Tracker;
进口com.google.android.gms.analytics.GoogleAnalytics;进口android.app.Application;进口的java.util.HashMap;公共类AnalyticsSampleApp扩展应用{//下面一行应改为包含正确的属性ID。
私有静态最后弦乐PROPERTY_ID =UA-XXXXX-Y;公共静态INT GENERAL_TRACKER = 0;公共枚举TrackerName {
    APP_TRACKER,// Tracker在这个应用程序时使用。
    GLOBAL_TRACKER,//通过从公司所有的应用程序中使用跟踪。例如:卷起跟踪。
    ECOMMERCE_TRACKER,//从一个公司使用的所有电子商务交易跟踪。
}HashMap的< TrackerName,跟踪> mTrackers =新的HashMap< TrackerName,跟踪>();公共AnalyticsSampleApp(){
    超();
}同步跟踪了解getTracker(TrackerName trackerId){
    如果(!mTrackers.containsKey(trackerId)){        Google分析分析= GoogleAnalytics.getInstance(本);
        。analytics.getLogger()setLogLevel(Logger.LogLevel.VERBOSE);
        跟踪T =(trackerId == TrackerName.APP_TRACKER)? analytics.newTracker(PROPERTY_ID)
                (trackerId == TrackerName.GLOBAL_TRACKER)? analytics.newTracker(
                        R.xml.global_tracker)
                        :analytics.newTracker(R.xml.ecommerce_tracker);
        t.enableAdvertisingIdCollection(真);
        mTrackers.put(trackerId,T);
    }
    返回mTrackers.get(trackerId);
}
}

只要告诉我什么是剩余codeS我需要补充,我需要在这个改变什么。如果我的问题是不理解善意发表评论如下。让我清楚地再问一下。

非常感谢。


解决方案

我的建议是只使用GTM,从GTM帐户,您可以链接谷歌分析和其他服务,可以帮助你。

这里是一个很好的指南,将帮助你。

在几句话,你需要:


  1. 包括谷歌播放服务作为库到项目

  2. 在您的应用程序添加默认容器RES /排文件夹下。这个容器,你将能够把它从GTM帐户导出您设置宏和标签后

  3. 在您的清单文件添加该行正在申请:

    <元数据机器人:名字=com.google.android.gms.version
                机器人:值=@整数/ GOOGLE_PLAY_SERVICES_VERSION/>


  4. 打开一个初始屏幕容器(闪屏为例)


TagManager tagManager = TagManager.getInstance(本);
            tagManager.setVerboseLoggingEnabled(真);
        PendingResult< ContainerHolder>未决=
                tagManager.loadContainer preferNonDefault(CONTAINER_ID,
                R.raw.default_container);
        pending.setResultCallback(新ResultCallback< ContainerHolder>(){
            @覆盖
            公共无效onResult(ContainerHolder containerHolder){
                ContainerHolderSingleton.setContainerHolder(containerHolder);
                containerLoaded = TRUE;
                startMainActivity();
            }
        } 2,TimeUnit.SECONDS);


  • 创建一个类ContainerHolderSingleton

     公共类ContainerHolderSingleton {
    私有静态ContainerHolder containerHolder;私人ContainerHolderSingleton(){
    }公共静态ContainerHolder getContainerHolder(){
        返回containerHolder;
    }公共静态无效setContainerHolder(ContainerHolder C){
        containerHolder = C;
    }

    }

    <醇开始=6>
  • 创建另一个类GtmUtils

  • 公共类GtmUtils {

     私人GtmUtils(){
    }公共静态无效pushOpenScreenEvent(上下文的背景下,弦乐屏幕名){
        数据层数据层= TagManager.getInstance(上下文).getDataLayer();
        dataLayer.pushEvent(OpenScreen,DataLayer.mapOf(屏​​幕名,屏幕名));
    }

    }


  • 最后,来自任何活动/片段要发送一个事件,你可以做这样的事情:

  • GtmUtils.pushOpenScreenEvent(这一点,登录);


    就是这样。你只需要设置您的GTM帐户,并与分析联系起来,并依此类推。

    您也可以找到这里官方文档和一些样品。

    首页它将帮助。

    I want to implement Google Tag Manager and Google Analytics in my android application.

    I am totally new to analytics and google tagmanager. I am following these link link1, , link2 through this I got some basic idea about Google Tag Manager and Google Analytics.

    What I did is:
    I created both Google TagManager account and Analytics account. Created all the basic step in TagManager and in Analytics account. Also I added libGoogleAnalyticsServices this file to project lib and gtm container in project file asset.

    Now what I need is. What are all the codes I need to add in my application? And where I need to add this. I created one seperated java file in the src and I added these code

    import com.google.android.gms.analytics.Logger;
    import com.google.android.gms.analytics.Tracker;
    import com.google.android.gms.analytics.GoogleAnalytics;
    
    import android.app.Application;
    
    import java.util.HashMap;
    
    public class AnalyticsSampleApp extends Application {
    
    // The following line should be changed to include the correct property id.
    private static final String PROPERTY_ID = "UA-XXXXX-Y";
    
    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 AnalyticsSampleApp() {
        super();
    }
    
    synchronized Tracker getTracker(TrackerName trackerId) {
        if (!mTrackers.containsKey(trackerId)) {
    
            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
            Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
                    : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(
                            R.xml.global_tracker)
                            : analytics.newTracker(R.xml.ecommerce_tracker);
            t.enableAdvertisingIdCollection(true);
            mTrackers.put(trackerId, t);
        }
        return mTrackers.get(trackerId);
    }
    }
    

    Just tell me what are remaining codes I need to add and what I need to change in this. If my question is not understandable kindly comment below. Let me ask it clearly again.

    Thanks a lot.

    解决方案

    My advice is to use just GTM, and from the GTM account you can link the Google Analytics and others services that could help you.

    Here is a nice guide that will help you.

    In few words you need to:

    1. Include google play services as a library to your project
    2. Add a default container in your app under the res/row folder. This container you will be able to export it from the GTM account after you set up your macros and tags
    3. Add this lines in your Manifest file under application:

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

    4. Open the container in a initial screen (Splash screen for example)

    TagManager tagManager = TagManager.getInstance(this); tagManager.setVerboseLoggingEnabled(true); PendingResult<ContainerHolder> pending = tagManager.loadContainerPreferNonDefault(CONTAINER_ID, R.raw.default_container); pending.setResultCallback(new ResultCallback<ContainerHolder>() { @Override public void onResult(ContainerHolder containerHolder) { ContainerHolderSingleton.setContainerHolder(containerHolder); containerLoaded = true; startMainActivity(); } }, 2, TimeUnit.SECONDS);

    1. create a class ContainerHolderSingleton

      public class ContainerHolderSingleton {
      private static ContainerHolder containerHolder;
      
      private ContainerHolderSingleton() {
      }
      
      public static ContainerHolder getContainerHolder() {
          return containerHolder;
      }
      
      public static void setContainerHolder(ContainerHolder c) {
          containerHolder = c;
      }
      

      }

      1. create another class GtmUtils

      public class GtmUtils {

      private GtmUtils() {
      }
      
      public static void pushOpenScreenEvent(Context context, String screenName) {
          DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
          dataLayer.pushEvent("OpenScreen", DataLayer.mapOf("screenName", screenName));
      }
      

      }

      1. And finally from any activity/fragment you want to send an event you can do something like this:

      GtmUtils.pushOpenScreenEvent(this, "login");

    And that's it. You just need to set up your GTM account and link it with Analytics and so on.

    Also you can find here the official documentation and some samples.

    Home it will help.

    这篇关于如何实现谷歌TagManager在Android应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆