android - 在 Android 应用中添加 Firebase Analytics 和 Google Analytics

标签 android google-analytics firebase google-analytics-api firebase-analytics

我已经实现了 Firebase Analytics。它工作正常。我也希望使用 Google Analytics。基于讨论here我在 google-services.json 中包含了以下对象

"analytics_service": {
      "status": 2,
      "analytics_property": {
        "tracking_id": "<your tracking id>"
      }
    },

对于 Google Analytics,我有 Tracker 类

public class PuzzleGamesTracker extends Application {

// The following line should be changed to include the correct property id.
private static final String PROPERTY_ID = "<your tracking id>";

private Tracker mTracker;


@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

/**
 * Gets the default {@link Tracker} for this {@link Application}.
 * @return tracker
 */
synchronized public Tracker getDefaultTracker() {
    if (mTracker == null) {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
        mTracker = analytics.newTracker(R.xml.global_tracker);
    }
    return mTracker;
}

用法

public void sendToGoogleAnalytics(String arg) {
    // TODO Auto-generated method stub
    sendToFireBase();
    PuzzleGamesTracker application = (PuzzleGamesTracker) getApplication();
    Tracker mTracker = application.getDefaultTracker();

    mTracker.setScreenName(arg);
    mTracker.send(new HitBuilders.AppViewBuilder().build());

}

public void sendToFireBase( ) {
    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 1A");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 1A");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item B");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name B");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 2A");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 2A");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 2");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

}

错误场景

如果我没有在 google-services.json 中包含以下 google analytics 对象,则 Fire Base 工作正常。

"analytics_service": {
  "status": 2,
  "analytics_property": {
    "tracking_id": "<your tracking id>"
  }
},

当我在 google-services.json 中包含 google analytics 对象时,出现以下错误

Error:Execution failed for task ':android:mergeReleaseResources'.
> [xml/global_tracker] C:\Users\android\build\generated\res\google-   services\release\xml\global_tracker.xml   [xml/global_tracker] C:\Users\android\res\xml\global_tracker.xml: Error: Duplicate resources

问题 1. 我需要删除 ecommerce_tracker.xml 和 global_tracker.xml 吗? PuzzleGamesTracker 类已经在使用它。如何克服呢? 2. 请指导我,使FA和GA实现都成功

最佳答案

最后,我找到了同时添加 GA 和 FA 的答案

第 1 步。删除了 xml 文件 R.xml.global_tracker

第 2 步。替换为 mTracker = analytics.newTracker(R.xml.global_tracker);和 mTracker = analytics.newTracker(PROPERTY_ID);

第 3 步. 在 json 文件中添加以下内容 “analytics_service”:{ “状态”:2, “analytics_property”:{ “跟踪号码”: ”” } },

关于android - 在 Android 应用中添加 Firebase Analytics 和 Google Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37936441/

相关文章:

android - 如何从 android.intent.action.SEND 获取图像细节?

android - 什么是 Dalvik 调试监控服务?

Firebase.instance.signOut() 未将 currentUser() 设置为 null

ios - Firebase 上传文件在文件名中获取可选字符串

android - 在 LayerListDrawable 中更改 Bitmap Drawable

Android JUnit xml 报告未在设备上创建

google-analytics - hits.page.searchKeyword与唯一搜索总数不匹配

google-analytics - 谷歌分析测量协议(protocol) session 超时和查询时间限制

android - 针对 Android 问题的 Google Analytics 增强型电子商务跟踪

javascript - 如果树/值存在,则从 Firebase 获取 True/False 值。无法让它工作