我刚刚尝试从Fabric / Crashlytics Beta切换到Firebase App Distribution,以将我的Android应用分发给测试人员。我这样做是使用Gradle插件,如此处所述:https : //firebase.google.com/docs/app-distribution/android/distribute-gradle
当使用Crashlytics Beta时,我可以通过将其添加到我的gradle文件中来禁用每一个新构建的给测试人员的烦人电子邮件:
ext.betaDistributionNotifications=false
Run Code Online (Sandbox Code Playgroud)
尽管具有与其他选项(例如发行说明)相同的功能,但Firebase应用程序分发的文档并未提及任何类似内容。实际上,该文档说:
尚未受邀测试应用程序的测试人员会收到电子邮件邀请以开始使用。现有测试人员会收到电子邮件通知,告知您可以测试新版本。
有谁知道我如何禁用电子邮件,以便在每天发布几次构建版本时不会不断向测试人员发送垃圾邮件?
编辑:各个测试人员可以使用电子邮件底部的退订链接,但是我希望全局禁用电子邮件,这样就不必要了。
android firebase crashlytics-beta fabric-beta firebase-app-distribution
我们使用 Travis CI 并持续部署开发和 QA 构建 - 最近还设置了 Firebase App Distribution。我希望能够使用 git commit 消息作为开发和 QA 构建的“发行说明”,并在 firebaseAppDistribution 所在的 gradle 中自动执行。例如:
构建.Gradle:
generateGitCommitMessage() {
// get last commit message after > Task :app:assemble and before > Task :app:appDistributionUpload
return commitMessage
}
firebaseAppDistribution {
groups = "Android"
// Automate capturing commit message in a string (or txt file) for dev builds
releaseNotes="${generateGitCommitMessage()}"
}
Run Code Online (Sandbox Code Playgroud)
是否可以在 Gradle 中捕获推送提交时输入的当前提交消息?Travis 中的 AppDistribution 发生在最后,就在 apk 上传之前,在 > Task :app:assemble 之后,所以我希望它是。
我研究了一些类似的脚本,例如https://kapie.com/2016/gradle-generate-release-notes/和https://medium.com/@lowcarbrob/android-pro-tip-generate-your-apps -changelog-from-git-inside-build-gradle-19a07533eec4但我们不标记构建,所以这些对我的情况并不真正有效,而且我对 groovy …
有没有办法获得注册测试人员的UDID。我们错误地删除了来自 Firebase 的邮件。在 Firebase App Distribution 之前,我们可以在 Fabric Beta 中找到它。但是现在我们不能直接访问UDID。
我正在使用 gradle 开发 Firebase App Distribution。
我已经按照这个firebase 官方链接中的所有步骤进行了操作,但它仍然无法正常工作。当我运行这个时./gradlew assembleDemoDebug appDistributionUploadDemoDebug,它总是返回这个错误App Distribution failed to fetch app information: [403] The caller does not have permission。
这是我的gradle设置。
buildTypes {
debug {
...
firebaseAppDistribution {
appId = "1:12345678:android:12345678abc"
releaseNotes = "test"
groups = "android-qa"
serviceCredentialsFile = "android-app-distribution-key.json"
}
}
Run Code Online (Sandbox Code Playgroud)
我已经联系了 google 支持团队,但也许你们对这个问题有类似的经历。我在这里错过了什么吗?
谢谢
我正在尝试通过 Gradle 将 Firebase 应用分发添加到我的 Android 应用中,并看到此错误:“未找到 ID 为 'com.google.firebase.appdistribution' 的插件。”
如果我注释掉 'apply plugin: 'com.google.firebase.appdistribution'' 应用程序可以正常构建
我制作了一个新的示例应用程序,只是想用插件“com.google.firebase.appdistribution”来构建它。我已经按照这些步骤到 T ( https://firebase.google.com/docs/app-distribution/android/distribute-gradle ) 并且仍然看到这个错误
这是我的应用模块 build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.firebase.appdistribution'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
repositories {
google()
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) …Run Code Online (Sandbox Code Playgroud) 我正在使用带有 Gradle 插件的 Firebase 应用分发。
当我尝试运行appDistributionUploadDebug命令时,我收到错误:
Getting appId from output of google services plugin
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:appDistributionUploadDebug'.
> Missing app id
Run Code Online (Sandbox Code Playgroud)
我在build.gradle文件中包含了插件
dependencies {
classpath 'com.google.firebase:firebase-appdistribution-gradle:1.2.0'
}
Run Code Online (Sandbox Code Playgroud)
然后我添加了配置:
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.appdistribution'
android {
//...
debug {
firebaseAppDistribution {
serviceAccountCredentials = "/path/to/your-service-account-key.json"
releaseNotesFile="/path/to/releasenotes.txt"
testers="email@example.com"
}
}
}
Run Code Online (Sandbox Code Playgroud) android firebase android-gradle-plugin firebase-app-distribution
我的主要目标是以编程方式下载从 firebase 应用程序分发分发给测试人员的应用程序。效果应该与在此处从应用程序分发中按指定版本上的“下载”按钮相同:
我尝试过使用Firebase REST API,但似乎只有用于列出指定应用程序的版本并上传版本的端点,没有下载选项。
我还检查了支持 firebase 存储的firebase,但是您可以在没有存储的情况下添加应用程序版本,因此我认为它不是存储它们的位置。
“下载”按钮生成的下载 URL 遵循以下模式https://firebaseappdistribution.googleapis.com/app-binary-downloads/firebase-app-distro/app-binaries/[PROJECT_ID]/[APP_ID]/e4faf167-0e3d-4b1a-82dd-44811c0b5e43.apk?token=[TOKEN]。之后的部分[APP_ID]标识了应用程序,但我无法找到它来自哪里。
是否有可能以这种方式下载应用程序?还有其他方法可以下载该应用程序吗?
我在 Fastlane Fastfile 中设置了 Firebase 应用分发功能来分发我的 iOS 应用的测试版。它工作正常,但突然开始显示错误。
这就是我的车道的样子。
lane :distribute_beta do |options|
sync_code_signing_adhoc()
update_build_number_of_all_frameworks()
build_ios_app_adhoc()
firebase_app_distribution(
app: "<app ID here>",
testers: "<tester emials here>",
release_notes: options[:release_note],
firebase_cli_path: "/usr/local/bin/firebase"
)
end
Run Code Online (Sandbox Code Playgroud)
当我运行这条车道时,它显示错误
the server responded with status 403
Run Code Online (Sandbox Code Playgroud)
在步骤:firebase_app_distribution
日志还说对谷歌的身份验证成功。
Authenticating with GOOGLE_APPLICATION_CREDENTIALS environment variable: /<path to cred>/<cred_file_name>.json
Authenticated successfully.
Run Code Online (Sandbox Code Playgroud)
以下是围绕“步骤:firebase_app_distribution”的整个错误
[17:11:04]: ---------------------------------------
[17:11:04]: --- Step: firebase_app_distribution ---
[17:11:04]: ---------------------------------------
[17:11:04]: Authenticating with GOOGLE_APPLICATION_CREDENTIALS environment variable: /<path to cred>/<cred_file_name>.json
[17:11:04]: Authenticated successfully.
+------------------------------------+---------------------------------------------+
| Lane Context |
+------------------------------------+---------------------------------------------+
| DEFAULT_PLATFORM …Run Code Online (Sandbox Code Playgroud) firebase ×6
android ×5
gradle ×2
ios ×2
fabric-beta ×1
fastlane ×1
git ×1
jenkins ×1
python-3.x ×1
travis-ci ×1