标签: google-analytics-firebase

谷歌分析与Android:以编程方式设置ga_reportUncaughtExceptions?

TL;博士

有没有办法在不使用Android中的xml配置的情况下以编程方式为Google Analytics(v4)启用reportUncaughtExceptions?

更长的解释

我在Android应用中使用Google Analytics v4,我需要一种方法来通过构建风格设置两个不同的跟踪ID.我使用的是一般的global_tracker.xml配置(见下文),但我需要一种基于风格"动态注入"跟踪ID的方法.

<resources xmlns:tools="http://schemas.android.com/tools"
           tools:ignore="TypographyDashes">
    <integer name="ga_sessionTimeout">300</integer>
    <bool name="ga_autoActivityTracking">true</bool>
    <bool name="ga_reportUncaughtExceptions">true</bool>

    <!--  The following value should be replaced with correct property id. -->
    <string name="ga_trackingId">UA-xxxxxx-xx</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

为了避免在构建flavor源文件夹中有重复的xml配置,我使用trackingId直接初始化跟踪器并以编程方式设置属性.

mGATracker = analytics.newTracker(R.string.ga_code); // this is dynamic depending on flavor
mGATracker.setSessionTimeout(300);
mGATracker.enableAutoActivityTracking(true);
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用xml配置的情况下启用reportUncaughtExceptions?

xml android google-analytics google-analytics-firebase

7
推荐指数
2
解决办法
3371
查看次数

Google Analytics V4广告系列衡量标准测试不起作用

我开始使用Google Analytics V4实施广告系列衡量,参考链接 https://developers.google.com/analytics/devguides/collection/android/v4/.遇到https://developers.google.com/analytics/solutions/testing-play-campaigns中提到的经过测试的Campign Measurement时遇到的问题.每次我的日志显示"未找到广告系列数据"

我将google Play服务(版本:18)导入我的工作区并在我的项目中引用它

在我的清单文件中添加了以下行

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

<meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.analytics.globalConfigResource"
    android:resource="@xml/global_tracker" />
Run Code Online (Sandbox Code Playgroud)

以及代码下面

<service android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
  android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

后来在res-> xml下创建了global_tracker.xml文件.下面是我的xml文件

    <?xml version="1.0" encoding="utf-8" ?>

<resources xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="TypographyDashes"
>
  <integer name="ga_sessionTimeout">300</integer>

    <!-- Enable automatic Activity measurement -->
    <bool name="ga_autoActivityTracking">true</bool>
    <bool name="ga_debug">true</bool>
    <string name="ga_logLevel">verbose</string>
    <string name="ga_dryrun">true</string>

    <!-- The screen names that will appear in reports -->

    <!--  The following value should be replaced with correct …
Run Code Online (Sandbox Code Playgroud)

android google-analytics android-intent android-service google-analytics-firebase

7
推荐指数
1
解决办法
6865
查看次数

ga_autoActivityTracking = true:从报告中排除特定活动

[适用于Android Google Analytics v4]

当ga_autoActivityTracking = true时,是否有办法不报告特定活动(发送命中服务)?

我想在onStart()上将ga_autoActivityTracking变为false,在特定活动中再次在onStop()上变为true.如果可能的话,某人会像提供示例代码一样善良.其他方法也是最受欢迎的.

谢谢.

android google-analytics google-analytics-firebase

7
推荐指数
1
解决办法
486
查看次数

Android - 使用Google Analytics v4广告系列衡量标准

我已根据本指南实施了Google Analytics Campaign Measurement.然后我想按照本指南测试一切是否正常.

我在AndroidManifest.xml上添加了这些:

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

<!-- Used for Google Play Store Campaign Measurement-->;
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

并将这些放在MainActivity.java上:

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 …
Run Code Online (Sandbox Code Playgroud)

android google-analytics android-intent android-service google-analytics-firebase

7
推荐指数
1
解决办法
3699
查看次数

在Google Analytics V4中,我应该发送哪个屏幕名称?

我按照本指南在我的Android应用中实施了Google Analytics.我无法理解该文件.

在文档中,它说创建一个XML文件,并将其作为内容:

<screenName name="com.mycompany.myapp.MainActivity">
        SomeApp MainActivity
</screenName>
Run Code Online (Sandbox Code Playgroud)

要发送屏幕视图,我必须这样做:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER);
t.setScreenName(screenName);
t.send(new HitBuilders.AppViewBuilder().build());
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这screenName应该是什么.是name值(com.mycompany.myapp.MainActivity)还是screenName值(SomeApp MainActivity)?

android google-analytics google-analytics-firebase

7
推荐指数
3
解决办法
2969
查看次数

在GA中安装引用者活动不可见(在android GAv4中发送的广播)

最近,我们根据此文档为Android应用程序整合了Google Analytics V4 SDK(以跟踪安装引荐):https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#overview

遗憾的是,即使正确发送广播,数据在GA统计数据中也不可见.

我已完成以下步骤以确保收到广播:

  1. 项目清单
  2. 为GAv4启用DEBUG
  3. 从设备卸载应用程序
  4. 使用referrer参数向设备发送电子邮件.
  5. 点击链接(开始播放商店应用).
  6. 单击安装并启动应用程序.

在我的logcat几秒钟后出现以下信息:

03-31 19:52:41.695 24530-24551/pl.onet.zapytaj D/GAv4:收到安装活动:medium = display,name = promo_mzapytaj_wariantA,source = m.zapytaj.onet.pl 03-31 19:52:41.705 24530-24551/pl.onet.zapytaj D/GAv4:将安装活动发送至:UA-60392364-5,medium = display,name = promo_mzapytaj_wariantA,source = m.zapytaj.onet.pl

尽管我多次重复这一步骤,GA似乎并没有在任何地方显示它(Aquisitions).

有谁有这个问题?Google Play Developer控制台可以正确显示广告系列信息

android google-analytics-firebase google-analytics-sdk

7
推荐指数
0
解决办法
351
查看次数

Google AnalyticsSDK 10.2.0存在违反StrictMode的行为

我无处可报告,但此处,问题跟踪器是只读的:https: //code.google.com/p/analytics-issues/issues/list

在启用StrictMode的情况下运行时,我从Google Analytics SDK v10.2.0获得以下信息:

02-16 10:55:46.245 2633-2641/com.visiolink.reader.wrapper E/StrictMode: Finalizing a Cursor that has not been deactivated or closed. database = /data/user/0/com.visiolink.reader.wrapper/databases/google_app_measurement_local.db, table = null, query = select count(1) from messages
                                                                        android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
                                                                            at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:98)
                                                                            at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
                                                                            at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
                                                                            at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
                                                                            at com.google.android.gms.internal.zzatv.zza(Unknown Source)
                                                                            at com.google.android.gms.internal.zzatv.zza(Unknown Source)
                                                                            at com.google.android.gms.internal.zzaul.zzc(Unknown Source)
                                                                            at com.google.android.gms.internal.zzauj.zzb(Unknown Source)
                                                                            at com.google.android.gms.internal.zzauj.zza(Unknown Source)
                                                                            at com.google.android.gms.internal.zzauj$8.run(Unknown Source)
                                                                            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                                                            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                            at com.google.android.gms.internal.zzaud$zzd.run(Unknown …
Run Code Online (Sandbox Code Playgroud)

google-analytics-firebase google-analytics-sdk

7
推荐指数
1
解决办法
188
查看次数

通过测量协议 (Google Analytics 4) API 发送的 Google Ads 转化不会在 Google Ads 上显示为转化

我遵循测量协议(Google Analytics 4) 中描述的指南从服务器发送购买事件。

我已验证此事件的记录在 GA4 上有效。我什至可以看到来自 Google Ads 购买转化的 Google 点击 ID (GCLID) 的来源值和中间值。

我已将此转化导入 Google Ads(等待了大约一周)。我有很多转化记录到 Google Analytics 4,但在 Google Ads 转化页面上,我得到了No recent conversions。我还要补充一点,显示了来自客户端的其他转换,仅显示了来自服务器的转换。

如何才能使通过测量协议 (Google Analytics 4) API 发送的事件显示在 GA4 上,并显示来自 Google Ads 的来源/媒介/广告系列值,以在 Google Ads 上显示为转化?

也许我应该更改 Google Ads 上的归因模型?

google-analytics google-analytics-api google-analytics-firebase firebase-analytics google-analytics-4

7
推荐指数
1
解决办法
1458
查看次数

迁移到Google Play服务后,广告系列跟踪无效

关注此https://developers.google.com/analytics/solutions/testing-play-campaigns

logcat始终报告:未找到任何广告系列数据.

这是我的AndroidManifest.xml

<!-- Used for Google Play Store Campaign Measurement -->
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver
  android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
  android:exported="true" >
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

android google-analytics google-play-services google-analytics-firebase

6
推荐指数
1
解决办法
3601
查看次数

Google Analytics - 测试中的NullPointerException

我在Travis构建服务器上的Robolectric测试中获得了以下NPE,我很难找到原因.我无法在本地重现此问题.

有人知道是什么原因导致onServiceConnected被调用?这可能有助于我找出问题所在.据我所知,这是Google Play服务 - Google Analytics问题.

java.lang.NullPointerException
    at com.google.android.gms.analytics.c$a.onServiceConnected(Unknown Source)
    at com.google.android.gms.analytics.c$a.onServiceConnected(Unknown Source)
    at org.robolectric.shadows.ShadowApplication$2.run(ShadowApplication.java:257)
    at org.robolectric.util.Scheduler$PostedRunnable.run(Scheduler.java:162)
    at org.robolectric.util.Scheduler.runOneTask(Scheduler.java:107)
    at org.robolectric.util.Scheduler.advanceTo(Scheduler.java:92)
    at org.robolectric.util.Scheduler.advanceToLastPostedRunnable(Scheduler.java:68)
    at org.robolectric.util.Scheduler.unPause(Scheduler.java:25)
    at org.robolectric.shadows.ShadowLooper.unPause(ShadowLooper.java:228)
    at org.robolectric.shadows.ShadowLooper.runPaused(ShadowLooper.java:267)
    at org.robolectric.util.ActivityController.create(ActivityController.java:144)
    at org.robolectric.util.ActivityController.create(ActivityController.java:154)
    at com.company.search.activities.loginjoin.LoginActivityTest.setup(LoginActivityTest.java:20)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:250)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:177)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at …
Run Code Online (Sandbox Code Playgroud)

android robolectric google-analytics-firebase

6
推荐指数
1
解决办法
1750
查看次数