我正在完成我的第一个 Android 应用程序,但我想从 Playstore 中的 Alpha 和 Beta 测试开始。这就是我的firebase设置
- 1个火力基地项目:
- 4 个 Firebase 安卓应用:
- 1 包名称为 com.myapp.appname.alpha
- 1 包名称为 com.myapp.appname.beta
- 1 包名称为 com.myapp.appname
- 1 包名称为 com.myapp.appname.dev
- 4 个 Firebase 安卓应用:
我已经这样做了,所以发布和开发崩溃报告是分开的。我想,我对 alpha 和 beta 做同样的事情。但显然我不能上传带有不同包名的 alpha & beta & release 这些是我的构建类型。
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
versionNameSuffix '-DEV'
applicationIdSuffix ".dev"
}
beta {
applicationIdSuffix ".beta"
versionNameSuffix '-BETA'
}
alpha {
applicationIdSuffix ".alpha"
versionNameSuffix '-ALPHA'
}
}
在我看到这不起作用之后,我尝试改变一些东西来识别不同的构建类型。(这个字符串包名仅供参考)(仍然没有解决我的问题)
buildTypes {
release {
resValue 'string', 'packagename', 'com.myapp.appname'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
resValue 'string', 'packagename', 'com.myapp.appname.dev'
versionNameSuffix '-DEV'
applicationIdSuffix ".dev"
}
beta {
resValue 'string', 'packagename', 'com.myapp.appname.beta'
versionNameSuffix '-BETA'
}
alpha {
resValue 'string', 'packagename', 'com.myapp.appname.alpha'
versionNameSuffix '-ALPHA'
}
}
所以我的问题是如何在另一个 Firebase Android 应用程序中接收 alpha 和 beta 构建类型的崩溃报告?
我的解决方案 ATM
在@Doug Stevenson 给我的信息之后。我想出了一种方法来处理 alpha、beta、release 和 dev build。
1 个 Firebase 项目,用于:
- 1 Android for Release、Beta、Alpha
1 个 Firebase 项目,用于:
- 开发安卓应用
现在,我仍然会在 1 份报告中获得所有 alpha、beta、release 的崩溃,因为 playstore 不支持多个包名,并且 firebase 不支持任何其他注册您的应用程序的方式。所以我做了两件事来确定崩溃出现的版本。
No 1: 我给每个productflavor另一个版本后缀。和一个额外的字符串 app_version
defaultConfig {
applicationId "com.myapp.appname"
}
buildTypes {
release {
resValue 'string', 'app_version', 'prod'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
resValue 'string', 'app_version', 'dev'
versionNameSuffix '-DEV'
applicationIdSuffix ".dev"
}
beta {
resValue 'string', 'app_version', 'beta'
versionNameSuffix '-BETA'
}
alpha {
resValue 'string', 'app_version', 'alpha'
versionNameSuffix '-ALPHA'
}
}
否 2: 我为开发应用程序添加了 applicationIdSuffix(见上文)。这样我可以创建另一个具有唯一包名的 firebase 项目。所以我的开发数据和产品数据是分开的。
否 3: 我在应用程序启动时编写了我的应用程序以初始化日志,所以如果发生某些事情,这是我在 firebase 崩溃报告 logcat 中看到的最后一个日志。
public class MidiMacro extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseCrash.log(String.format("%S -----> Android Version", getString(R.string.app_version)));
}
}