我在 Google Play 商店中有一个生产应用程序。我还使用 Google Play 测试版功能向有限的群体发布了测试版。但是,如果我对生产应用程序进行更改,那么我需要重新构建并重新发布 beta 应用程序,因为它会被新的生产版本覆盖。当我想在不更改测试版的情况下对生产进行一些错误修复时,这非常令人沮丧。有没有办法在不使当前测试版失效的情况下发布新的生产应用程序?
3 回答
基本问题是 Google Play 基于内部版本号 ( versionCode
) 进行更新,而不关心 .apk 来自哪个频道。
您唯一的选择是不获取连续的内部版本号,而是留下空白。例如,如果您的 prod 是versionCode="10"
,则制作 beta 版本versionCode="20"
,这将使您有机会在遇到使 beta 版本无效的问题之前再发布九个次要的 prod 版本。
虽然这种方法有两个问题: - 显然它不能很好地扩展。- 这使得管理内部版本号变得很困难,因为现在您必须记录哪个内部版本达到了哪个内部版本号。- 如果您不使 beta 版本无效,您的 beta 用户仍然会在新的 prod 版本中保留您刚刚修复的错误,直到您升级它们。
请注意,如果您没有阻止自动升级的权限更改,那么使 beta 版本无效并发布新版本并不是什么大问题;大多数用户甚至不会注意到他们已升级(除非您的应用明确告诉他们)。
我相信 google 要求您的应用程序的新生产版本覆盖 beta 的原因是由于基本的开发周期。通常,应用程序从 Alpha 阶段开始,然后是 beta,最后在生产阶段结束。
由于 beta 周期中的下一个合乎逻辑的步骤是发布,因此 beta 版本被覆盖。当您重新提交 beta 版本时,它将是当前代码修订版作为生产版本,以及正在测试的错误修复。
该方案非常简单:
Google Play 用于versionCode
指示用户当前可用的 apk。无论是生产版还是测试版都没有关系。此外,不允许上传versionCode
低于以前版本的版本。
因此,在您的情况下,您需要上传生产版本,然后上传 beta 版本(即使它的唯一更改是versionCode
)。有时,您的某些 beta 用户可能会下载生产版本,但无论如何他们会在稍后获得 beta 版本。