Google Analytics v4 SDK使用的XML配置文件的参数文档(如Google Play Services 4.3.23发行版中所述)表明ga_dryRun
并且ga_logLevel
是跟踪器文件中的有效属性.这是我的res/xml/default_tracker.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="ga_dryRun">true</bool>
<string name="ga_logLevel">verbose</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
当我在新的跟踪器上设置此配置文件并运行我的应用程序时,我在日志中看到以下内容:
04-30 13:05:55.303 29266-29266/com.example.app W/GAV3? Thread[main,5,main]: bool configuration name not recognized: ga_dryRun
04-30 13:05:55.303 29266-29266/com.example.app W/GAV3? Thread[main,5,main]: string configuration name not recognized: ga_logLevel
Run Code Online (Sandbox Code Playgroud)
是否有要更新的属性名称?是否不再支持通过XML配置这些功能(它们在v3 SDK中工作)?
我知道我可以从Java设置干运行和日志级别选项,但是能够在XML文件中定义这些选项会很好,所以我可以为不同的构建变体使用不同的文件.
我想使用SDK v4在Google Analytics中设置用户范围维度.此维度的值在运行时永远不会更改.
按照此说明创建维度时,页面为我提供了以下代码:
String dimensionValue = "SOME_DIMENSION_VALUE";
tracker.set(Fields.customDimension(1), dimensionValue);
Run Code Online (Sandbox Code Playgroud)
此代码适用于SDK v3,不适用于SDK4.
我也喜欢这个:自定义维度和指标 - Android SDK v4.他们的解决方案是每次发送页面视图,事件等时设置维度.这很糟糕!这个维度永远不变.sesion或用户尺寸变化小于可以在跟踪器级别保存的屏幕名称.
在这里我的问题:是否有一种方法可以在跟踪器级别设置自定义维度Tracker.setScreenName
?
我正在尝试在我的应用中实施Google Analytics,但在编译时我收到以下错误:
错误:任务':app:mergeDebugResources'的执行失败.[xml/global_tracker] C:\ Users\Carlos\AndroidStudioProjects\Capstone\SP\Stocks Panel Lite\app\src\main\res\xml\global_tracker.xml [xml/global_tracker] C:\ Users\Carlos\AndroidStudioProjects\Capstone\SP\Stocks Panel Lite\app\build\generated\res\google-services\debug\xml\global_tracker.xml:错误:重复资源
我试图运行干净的项目,但我得到了同样的错误.如果我删除app/build,我也会得到同样的错误.
提前致谢.
更新:build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "com.carlos.capstone"
minSdkVersion 11
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
compile fileTree(include: …
Run Code Online (Sandbox Code Playgroud) android android-resources google-play-services google-analytics-firebase
我目前正在初始化我的Google Analytics跟踪器,如下所示:
GoogleAnalytics analytics = GoogleAnalytics.getInstance(context);
Tracker mGATracker = analytics.newTracker(context.getString(R.string.ga_code));
mGATracker.setSessionTimeout(300);
mGATracker.enableAutoActivityTracking(true);
Run Code Online (Sandbox Code Playgroud)
它适用于发送自定义事件等,虽然我没有看到任何自动活动跟踪(查看行为 - >事件 - > GA中的屏幕).我无法以这种方式启用此设置吗?
我正在通过GTM在我的Android应用中实施Google Analytics v4.容器和代码是根据https://developers.google.com/tag-manager/android/v4/中的说明配置的.我收到的日志表明事件与规则匹配并被解雇,但我在Google Analytics中没有获得任何数据.日志看起来像这样:
04-23 22:01:35.966 V/GoogleTagManager(22149):putHit名为04-23 22:01:35.966 V/GoogleTagManager(22149):发送命中以存储路径:https:PARAMS:ul = en-gb,ev = value,el = label,t = event,cd = MainActivity,....
04-23 22:01:36.026 V/GoogleTagManager(22149):putHit被调用
请给出一些建议......
android google-analytics google-tag-manager google-analytics-firebase
当我试图在我的活动中获取跟踪器时,它显示错误 - 这个方法在谷歌分析v4中取消定义"getactivity()"
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication())
.getTracker(TrackerName.APP_TRACKER);
Run Code Online (Sandbox Code Playgroud) Google Play Services 7.3的最新更新使GA的Logger
界面弃用,因此我们无法再从我们的应用内部控制日志记录级别.
不推荐使用此接口.
不推荐使用Logger接口.使用
adb shell setprop log.tag.GAv4 DEBUG
启用谷歌Analytics(分析)调试日志记录.
我们过去每种构建类型都有不同的设置,使用Logger.setLogLevel()
(指南似乎已过时):详细调试和发布错误,因此我们的跟踪信息仅在开发期间可供我们使用.
现在有最新的更新,任何人都可以运行
adb shell setprop log.tag.GAv4 VERBOSE
Run Code Online (Sandbox Code Playgroud)
我们可以看到我们发送给Google Analytics的内容,或者任何人都可以看到其他人正在登录的内容(使用7.3的人).
有什么方法可以避免这种情况吗?
我注意到我的Android应用程序没有正确提供我的谷歌分析电子商务数据,而所有其他分析数据(屏幕视图,例外)都正确发布.
我已经开了一个关于这个主题的赏金但是进一步挖掘我在logcat中发现了一些错误:
获取广告客户ID时出错:java.io.IOException:java.util.concurrent.TimeoutException:等待服务连接超时
成功绑定到服务但从未获得onServiceConnected回调
我怀疑这些错误是由于某些不能在游戏服务级别工作的原因,这就是为什么我要打开一个新线程.
由于上述错误在点击发布之前出现在日志中,我的理论是我的电子商务数据因为它们而未正确发布.这里有人见过这样的东西吗?我可以尝试什么来解决它?
请注意我正在使用(取自build.gradle)
compile 'com.google.android.gms:play-services-analytics:9.4.0'
compile 'com.google.android.gms:play-services-ads:9.4.0'
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
和gradle插件
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
Run Code Online (Sandbox Code Playgroud) java android google-analytics google-play-services google-analytics-firebase
我正在尝试从我的节点服务器(作为Firebase云功能运行)连接到Google Analytics Reporting API v4.我想使用JWT进行身份验证,例如:http://nali.org/google-analytics-v4-api-node-js-starter-example/
但是我收到此错误:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Sign.sign (crypto.js:307:26)
at Object.sign (/user_code/node_modules/googleapis/node_modules/jwa/index.js:76:45)
at Object.jwsSign [as sign] (/user_code/node_modules/googleapis/node_modules/jws/lib/sign-stream.js:32:24)
Run Code Online (Sandbox Code Playgroud)
它似乎试图使用PEM文件,但我只想使用电子邮件和私钥.这不可能吗?我给出的示例链接是误导性的吗?
这是我的代码:
const email = functions.config().ga.email;
const privateKey = functions.config().ga.privatekey;
const scope = ['https://www.googleapis.com/auth/analytics.readonly'];
const token = new googleapis.google.auth.JWT(email, null, privateKey, scope, null);
token.authorize( (error, tokens) => {
if (error) {
console.error('Error connecting to GA:', error);
} else {
console.log('Authorized!', tokens);
}
})
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
google-api node.js google-api-nodejs-client google-analytics-firebase
如何设置或覆盖User Agent
测量协议(Google Analytics 4)中的值?
使用以前的测量协议(通用分析)很容易: https: //developers.google.com/analytics/devguides/collection/protocol/v1/parameters ?hl=en#ua
但我不清楚如何发送User Agent
到 Google Analytics v4。
google-analytics measurement-protocol google-analytics-firebase google-analytics-4