在禁用收集时防止 Firebase-Crashlytics 发送版本号

Prevent Firebase-Crashlytics from sending version numbers when collection is disabled

在开发和 QA 测试期间,我们在发布模式下编译我们的应用程序以确保一切正常。

我们不想在开发过程中报告崩溃,所以我们把它放在 AndroidManifest.xml:

<meta-data android:name="firebase_crash_collection_enabled" android:value="false" />
<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

在我们应用程序的 onCreate 中:

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(BuildConfig.crashlytics_enabled);

在应用程序中 build.gradle:

...    
apply plugin: 'com.google.firebase.crashlytics'
...
android {
    ...
    buildTypes {
        release {
            buildConfigField "boolean", "crashlytics_enabled", (isOfficialRelease() || isDailyJob()) ? "true" : "false"
            minifyEnabled true
            if (buildConfigFields.get("crashlytics_enabled").getValue() == "false" && minifyEnabled) {
                firebaseCrashlytics {
                    mappingFileUploadEnabled false
                }
            }
        }
    }
}
...
apply plugin: 'com.google.gms.google-services'

问题是,即使禁用了 crashlytics,我们仍然会得到上传到 crashlytics 的版本号和版本名称,并且破坏了过滤器对话框,所以我们迷失在无数版本中。

This is how our filter dialog looks now

此外,自 Firebase Crashlytics only shows the last 100 versions 以来,我们可能会以无法追踪官方发布的情况结束。

有没有办法完全阻止发送版本?

显然 AndroidManifest.xml 中添加的正确密钥不是

<meta-data android:name="firebase_crash_collection_enabled" android:value="false"/>

但是

<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false"/>