gpt4 book ai didi

android - 如何在 Android 应用程序中实现 Google TagManager

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:24 31 4
gpt4 key购买 nike

我想在我的 Android 应用程序中实现 Google Tag Manager 和 Google Analytics。

我对分析和 google tagmanager 完全陌生。我正在关注这些链接 link1 , , link2通过这个我对 Google Tag Manager 和 Google Analytics 有了一些基本的了解。

我所做的是:
我创建了 Google TagManager 帐户和 Analytics 帐户。在 TagManager 和 Analytics 帐户中创建所有基本步骤。此外,我将 libGoogleAnalyticsServices 此文件添加到项目文件 Assets 中的项目 lib 和 gtm 容器中。

现在我需要的是。我需要在应用程序中添加哪些代码?以及我需要添加的地方。我在 src 中创建了一个单独的 java 文件并添加了这些代码

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);
}
}

请告诉我我需要添加哪些剩余代码以及我需要对此进行哪些更改。如果我的问题无法理解,请在下面发表评论。我再问清楚。

非常感谢。

最佳答案

我的建议是只使用 GTM,您可以从 GTM 帐户链接 Google Analytics 和其他可以帮助您的服务。

Here是一个很好的指南,可以为您提供帮助。

简而言之,您需要:

  1. 将 google play 服务作为库包含到您的项目中
  2. 在您的应用中的 res/row 文件夹下添加一个默认容器。您可以在设置宏和标签后将此容器从 GTM 帐户中导出
  3. 在应用程序下的 list 文件中添加以下行:

    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
  4. 在初始屏幕(例如启动屏幕)中打开容器

    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);
  5. 创建一个类 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. 创建另一个类 GtmUtils

    公共(public)类 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. 最后,从您想要发送事件的任何 Activity/fragment 中,您可以执行如下操作:

    GtmUtils.pushOpenScreenEvent(this, "登录");

就是这样。您只需设置您的 GTM 帐户并将其与 Analytics 等相关联。

您还可以找到here官方文档和一些示例。

回家会有帮助。

关于android - 如何在 Android 应用程序中实现 Google TagManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25601134/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com