首页 > 解决方案 > 将更新发布到生产时如何进行后端更新?

问题描述

知道向 Google Play 发布更新可能需要几个小时到一天的时间,那么同步后端的正确方法是什么?

-- 通过同步后端,我的意思是更新存储过程,从表中添加/删除列,等等。--

在 APK 提交之后但更新上线之前同步后端可能会中断当前用户的使用,因为他们的应用尚未更新以响应新的后端更改。

同样,太晚同步后端也会中断使用,因为新应用程序和旧应用程序都无法正确使用后端。

标签: androidgoogle-playupdatesbackendgoogle-play-console

解决方案


这方面的最佳实践是不依赖于同时发布。请记住,即使 Google Play 立即更新,用户也不会总是这样。许多大公司的做法是:

假设您的后端和客户端从版本 10 迁移到版本 11:

  1. 确保客户端在每个网络调用中都内置了一个可能的响应,即“需要新版本”的代码。如果客户端收到此代码作为响应,那么它应该向用户显示一个选项“您需要更新到最新版本”并链接到 Google Play,而不是继续。这也可以通过Firebase Remote Config之类的服务来完成。
  2. 在后端,确保您同时支持新客户端(在本例中为 v11)和旧客户端(在本例中为 v10)。这需要一些软件工程,但通常并不太难。
  3. 在您的后端有一个实时配置变量,用于配置您需要的客户端版本。将此设置为 10(旧客户端)开始。
  4. 发布您的后端的 v11。此时所有客户都在 V10 客户端上与 V11 后端交谈。
  5. 完成后端部署后,将新客户端发布到 Play 商店。此时,一些用户将更新并使用 V10 客户端,而一些用户将使用 V11。
  6. 在给用户一点时间(可能是一周)进行更新后,更新您的远程配置以坚持所有用户都使用 V11 客户端。

然后你可以在你的新后端上工作,它只需要支持客户端 V11 和 V12。

另一种不太安全但需要较少软件工程的替代方法是使用 Google Play 的定时发布。说明在此页面上。在此过程中,您将您的应用发送给 Google 进行事先审核,并要求他们在审核完成后的特定时间发布。这意味着 Google 将使您的应用在准确的时间上线。然后,您可以在那时更新您的服务器。

您仍然可能有一个小窗口(分钟),其中世界不同地区的 Play 服务器不同步。此外,Play 客户端会对应用描述进行一些客户端缓存,因此即使 Play 商店已更新,用户也可能会在一段时间内(可能数小时)看不到新版本。这就是为什么我在回答的第一部分中推荐该程序的原因。


推荐阅读