知道向 Google Play 发布更新可能需要几个小时甚至一天的时间,那么同步后端的正确方法是什么?
-- 同步后端是指更新存储过程、从表中添加/删除列等。 --
在 APK 提交后但更新上线之前同步后端可能会中断当前用户的使用,因为他们的应用尚未更新以响应新的后端更改。
同样,太晚同步后端也会中断使用,因为新应用和旧应用都无法正确使用后端。
最佳答案
该领域的最佳实践是不要依赖同时发布。请记住,即使 Google Play 会立即更新,用户也不会总是如此。许多大公司所做的是:
假设您要将后端和客户端从版本 10 迁移到版本 11:
- 确保客户端已在每个网络调用中内置了一个可能的响应,即代码“需要新版本”。如果客户端收到此代码作为响应,则不应继续,而是应向用户显示一个选项“您需要更新到最新版本”并链接到 Google Play。这也可以通过像 Firebase Remote Config 这样的服务来完成。 .
- 在后端,确保您支持新客户端(在本例中为 v11)和旧客户端(在本例中为 v10)。这需要一些软件工程,但通常并不太困难。
- 在您的后端有一个实时配置变量,用于配置您需要的客户端版本。开始时将此设置为 10(旧客户端)。
- 发布后端 v11。此时,所有客户都在 V10 客户端上与 V11 后端通信。
- 后端部署完成后,将新客户端发布到 Play 商店。此时,一些用户将已更新并使用 V10 客户端,而另一些用户将使用 V11。
- 给用户一点时间来更新(也许一周)后更新您的远程配置以坚持所有用户都使用 V11 客户端。
然后您可以处理新的后端,它只需要支持客户端 V11 和 V12。
另一种安全性较低但需要较少软件工程的替代方案是使用 Google Play 的定时发布。 Instructions are on this page 。在此过程中,您将您的应用程序发送给 Google 进行提前审核,并要求他们在审核完成后的特定时间发布。这意味着 Google 将在精确的时间让您的应用程序上线。然后您可以在那时更新您的服务器。
您仍然可能会遇到一个小窗口(分钟),其中世界不同地区的 Play 服务器不同步。此外,Play 客户端会对应用程序描述进行一些客户端缓存,因此即使 Play 商店已更新,用户也可能在一段时间内(可能是几个小时)看不到新版本。这就是为什么我在答案的第一部分中推荐该过程的原因。
关于android - 当发布更新到生产时如何进行后端更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312846/