使用Firebase Analytics和Google Analytics的Android技术问题

16
我希望了解如何同时使用Firebase Analytics(FA)和Google Analytics(GA),因为FA不提供实时数据,而且我的应用程序自推出以来就已经集成了GA。我想继续使用GA,因为所有的分析数据都是从那里开始的。同时,我想让我的应用程序集成FA以获取更多信息。
我按照同时使用Firebase Analytics和Google Analytics并设置了Google Tag Manager。但似乎对我没有起作用。我看到FA仪表板正在更新,但在GA中没有显示任何内容。
非常感谢任何帮助!

你能提供标签管理器(Tag Manager)、Firebase Analytics和Google Analytics的调试日志吗?仅凭“它不起作用”很难进行调试。https://firebase.google.com/docs/analytics/android/events#view_events_in_the_android_studio_debug_loghttps://developers.google.com/analytics/devguides/collection/android/v4/advanced#loggerhttps://developers.google.com/tag-manager/android/v4/#debugging - djabi
4个回答

16

您应该使用在Firebase控制台为您的应用程序提供的google-services.json。如果缺少您的GA跟踪ID,您可以手动提供它,要么在调用newTracker时提供,要么作为字符串资源。


我的JSON文件也缺少GA跟踪ID。你知道为什么会这样吗?我已经按照正确的步骤将GA链接到Firebase了。 - Ian
1
@Ian 如果你正在使用Firebase配置文件,那么你需要在代码中提供你的GA跟踪ID,就像这样 tracker = analytics.newTracker(GA_TRACKER_ID); - Lancelot
清单文件怎么样?我们需要向其添加任何内容吗? - chubao
不需要在清单文件中添加任何内容。 对我来说,这样做起作用:将您的BaseApplication类中的mTracker = analytics.newTracker(R.xml.global_tracker)替换为mTracker = analytics.newTracker(YOUR_ANALYTICS_ID);然后将“analytics_service”:{          “status”:1         } 替换为Firebase json文件(google-services.json)中的以下内容:“analytics_service”:{“status”:2,“analytics_property”:{“tracking_id”:“YOUR_ANALYTICS_ID”}}, - Pelanes

3
在 Firebase 控制台中,不要新建应用程序,只需导入 Google 应用程序。 导入您当前的 Google Analytics 应用程序。 然后使用新的 Firebase 配置文件替换旧配置文件。 享受!

2
分享任何常见的 XML Firebase 文件示例。 - Mani
@influx,我已经添加了来自我的Firebase项目的XML文件。请查看我的答案。 - malhobayyeb

2

这是从Firebase中获取的常见XML/Plist样例:

我所做的事情以获取此文件:

1- 为Android实现了Google Analytics,并在Google API控制台中创建了一个项目,然后

2- 实现了iOS的Google Analytics,链接到同一Google API项目,然后

3- 基于同一Google API项目创建了Firebase项目。

Android的XML配置文件:

{
  "project_info": {
    "project_number": "MYAPP_PROJECT_NUMBER",
    "firebase_url": "MYAPP_FIREBASE_URL",
    "project_id": "MYAPP_PROJECT_ID",
    "storage_bucket": "MYAPP_STORAGE_BUCKET"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "MYAPP_MOBILESDK_APP_ID",
        "android_client_info": {
          "package_name": "MYAPP_PACKAGE_NAME"
        }
      },
      "oauth_client": [
        {
          "client_id": "MYAPP_CLIENT_ID_STARTING_WITH_PROJECT_NUMBER_1",
          "client_type": 1,
          "android_info": {
            "package_name": "MYAPP_PACKAGE_NAME",
            "certificate_hash": "MYAPP_CERT_HASH"
          }
        },
        {
          "client_id": "MYAPP_CLIENT_ID_STARTING_WITH_PROJECT_NUMBER_2_DIFFERENT_THAN_OAUTH_CLIENT_ID_ABOVE",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "MYAPP_CURRENT_KEY"
        }
      ],
      "services": {
        "analytics_service": {
          "status": 2,
          "analytics_property": {
            "tracking_id": "MYAPP_TRACKING_ID_FROM_GOOGLE_ANALYTICS"
          }
        },
        "appinvite_service": {
          "status": 1,
          "other_platform_oauth_client": []
        },
        "ads_service": {
          "status": 2
        }
      }
    }
  ],
  "configuration_version": "1"
}

iOS的Plist配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AD_UNIT_ID_FOR_BANNER_TEST</key>
    <string>MYAPP_AD_UNIT_ID_FOR_BANNER_TEST</string>
    <key>AD_UNIT_ID_FOR_INTERSTITIAL_TEST</key>
    <string>MYAPP_AD_UNIT_ID_FOR_INTERSTITIAL_TEST</string>
    <key>TRACKING_ID</key>
    <string>MYAPP_TRACKING_ID</string>
    <key>CLIENT_ID</key>
    <string>MYAPP_CLIENT_ID</string>
    <key>REVERSED_CLIENT_ID</key>
    <string>MYAPP_REVERSED_CLIENT_ID</string>
    <key>API_KEY</key>
    <string>MYAPP_CURRENT_KEY</string>
    <key>GCM_SENDER_ID</key>
    <string>MYAPP_PROJECT_NUMBER</string>
    <key>PLIST_VERSION</key>
    <string>1</string>
    <key>BUNDLE_ID</key>
    <string>MYAPP_BUNDLE_ID</string>
    <key>PROJECT_ID</key>
    <string>MYAPP_PROJECT_ID</string>
    <key>STORAGE_BUCKET</key>
    <string>MYAPP_STORAGE_BUCKET</string>
    <key>IS_ADS_ENABLED</key>
    <true/>
    <key>IS_ANALYTICS_ENABLED</key>
    <true/>
    <key>IS_APPINVITE_ENABLED</key>
    <false/>
    <key>IS_GCM_ENABLED</key>
    <true/>
    <key>IS_SIGNIN_ENABLED</key>
    <true/>
    <key>GOOGLE_APP_ID</key>
    <string>MYAPP_MOBILESDK_APP_ID</string>
    <key>DATABASE_URL</key>
    <string>MYAPP_FIREBASE_URL</string>
</dict>
</plist>

1
你可以在Android和iOS应用中同时安全地使用Firebase Analytics和Google Analytics。

问题在于它们都使用了存储在json文件中的google-services配置,而这些文件中存储的内容不同,发生了冲突... - Lancelot
3
你应该使用 Firebase 控制台中为你的应用提供的 google-services.json 文件。如果其中没有包含你的 GA 跟踪 ID,你可以通过在调用 newTracker 或者使用字符串资源的方式手动提供它。 - Steve Ganem
@SteveGanem,你解决了我的问题!请把你的评论作为答案,这样我就可以标记它为正确的! - Lancelot
@Lancelot,你是如何在JSON文件中获取GA跟踪ID的? - Ian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接