android - Google Analytics 为我的 Android 应用选择了错误的版本号

标签 android google-analytics android-manifest build.gradle android-version

我正在我的应用程序中添加 Google Analytics。当我转到 Real Time > Overview 时,我在 App Version 下看到 1.0。我的问题是 Google Analytics 从哪里得到这个 1.0 数字?

enter image description here

这就是我在 Launcher ActivityonCreate() 中启动 Analytics 的方式:

        analytics = GoogleAnalytics.getInstance(MainDrawerActivity.this);
        analytics.setLocalDispatchPeriod(1800);

        tracker = analytics.newTracker("UA-XXXXXX-X"); // Replace with actual tracker/property Id
        tracker.enableExceptionReporting(true);
        tracker.enableAdvertisingIdCollection(true);
        tracker.enableAutoActivityTracking(true);

我的项目有多个 gradle 文件。我将它们全部粘贴在这里:

enter image description here

这是我的 gradle 文件和我的 Android Manifest: build.gradle:(对于我的项目:xxx...)

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.1.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    jcenter()
}
}

build.gradle:(对于我的模块:app)

android {
compileSdkVersion 22
buildToolsVersion "22.0.0"

defaultConfig {
    applicationId "xxx.xxx.xxx"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 58
    versionName "2.0.13"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

compileOptions {
    encoding "UTF-8"
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
lintOptions {
    abortOnError false
}
}

模块的build.gradle:circularImageView(这是一个库项目) 应用插件:'com.android.library'

android {
compileSdkVersion 22
buildToolsVersion "22.0.0"

defaultConfig {
    minSdkVersion 11
    targetSdkVersion 19

    versionCode 60
    versionName "2.0.14"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
}

我的 list 的开头:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xxx.xxxx.xxxxxxxx"
android:installLocation="internalOnly"
android:versionCode="58"
android:versionName="2.0.13" >

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="21" />

另一点要注意的是——在看到“1.0”版本之前,我在 Eclipse 中,但这是我第一次在 Android Studio 上,但我使用了 the Gradle Method将 Google Analytics 添加到我的帐户。

最佳答案

它从传递给 GoogleAnalytics.getInstance(context)

的上下文中获取版本
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
packageInfo.versionName;

根据 PackageInfo 的文档:

The version name of this package, as specified by the tag's versionName attribute.

此外,为了准确获取您的应用程序数据,您应该从扩展 Application 的类中创建 Tracker

public class MyApp extends Application {
    public Tracker tracker;
    .....

    public Tracker getTracker() {
        if (tracker == null) {
            tracker = GoogleAnalytics.getInstance(this);
            .......
        }
        return tracker;
     }
}

关于android - Google Analytics 为我的 Android 应用选择了错误的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898932/

相关文章:

java - E/Volley : [6681] NetworkDispatcher. processRequest : Unhandled exception java. lang.RuntimeException: Bad URL null

Android Studio 0.5.0 重建不适用于 Proguard

Angular angulartics2(谷歌分析)不会更新路线更改页面

javascript - Google Analytics 获取自定义报告

google-analytics - 有没有办法加密/解密或混淆/反混淆传递给Google跟踪代码管理器的数据?

三星 Galaxy Tab 4 系列的 Androidmanifest.xml Play 商店设置

android - 有条件地在 Android 中设置第一个 Activity

android - 链接多个用例

java - android.permission.WRITE_SECURE_SETTINGS 错误

android - 我似乎无法理解 ACTION_SCO_AUDIO_STATE_CHANGED 的 Intent ,为什么?