发布更新到生产时如何进行后端更新?
When releasing update to production how to proceed with backend update?
知道发布对 Google Play 的更新可能需要几个小时到一天,同步后端的正确方法是什么?
-- 通过同步后端,我的意思是更新存储过程、表中的 adding/deleting 列,等等。 --
在提交 APK 之后但在更新生效之前同步后端可能会中断当前用户的使用,因为他们的应用尚未更新以响应新的后端更改。
同样,太晚同步后端也会影响使用,因为新旧应用都无法正常使用后端。
这方面的最佳做法是不依赖同步发布。请记住,即使 Google Play 即时更新,用户也不会总是如此。很多大公司做的是:
假设您要从后端和客户端的版本 10 迁移到版本 11:
- 确保客户端在每个网络调用中都内置了一个可能的响应,即代码 "needs new version"。如果客户端收到此代码作为响应,那么它应该向用户显示 "You need to update to the latest version" 和 link 到 Google 播放的选项,而不是继续。这也可以通过 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 服务器可能仍然有一小段 window(分钟)不同步。此外,Play 客户端会对应用程序描述进行一些客户端缓存,因此即使 Play 商店已更新,用户也可能会在一段时间内(可能几个小时)看不到新版本。这就是为什么我在回答的第一部分推荐该程序的原因。
知道发布对 Google Play 的更新可能需要几个小时到一天,同步后端的正确方法是什么?
-- 通过同步后端,我的意思是更新存储过程、表中的 adding/deleting 列,等等。 --
在提交 APK 之后但在更新生效之前同步后端可能会中断当前用户的使用,因为他们的应用尚未更新以响应新的后端更改。
同样,太晚同步后端也会影响使用,因为新旧应用都无法正常使用后端。
这方面的最佳做法是不依赖同步发布。请记住,即使 Google Play 即时更新,用户也不会总是如此。很多大公司做的是:
假设您要从后端和客户端的版本 10 迁移到版本 11:
- 确保客户端在每个网络调用中都内置了一个可能的响应,即代码 "needs new version"。如果客户端收到此代码作为响应,那么它应该向用户显示 "You need to update to the latest version" 和 link 到 Google 播放的选项,而不是继续。这也可以通过 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 服务器可能仍然有一小段 window(分钟)不同步。此外,Play 客户端会对应用程序描述进行一些客户端缓存,因此即使 Play 商店已更新,用户也可能会在一段时间内(可能几个小时)看不到新版本。这就是为什么我在回答的第一部分推荐该程序的原因。