虚构的情况如下:我有一个移动应用程序已经发布到商店大约一年了(iOS和Android)。我正在准备一个新版本的应用程序。后端的一些api已经过时或已弃用。
问题是,不会将应用程序更新到新版本的应用程序用户将遇到应用程序操作问题,因为后端api已被替换或删除。
问题是如何在成为问题之前处理这种情况? 苹果或谷歌是否有任何关于应用程序不同版本之间过时功能的指南?
答案 0 :(得分:1)
@Dimitris,在这里您需要为旧应用程序提供强制更新。这可以使用app配置文件来完成。基本上,您将拥有一个应用程序配置文件,其中包含带有以下键的JSON:
{
"server":{
"app-server1-base-url":"http://",
"status":{
"is-running":true,
"message":"We are busy upgrading XYZ server with technology and features. We will be back soon. We apologize for the inconvenience and appreciate your patience. Thank you for using XYZ!"
},
"force-update":{
"status":false,
"message":"Please download the latest version of XYZ from App Store to continue using the app. Thank You!"
}
}
}
此处'app-server1-base-url'键将成为该应用的基本网址。您可以将所有服务URL放在此文件中。
案例1:
您的应用会在发布时检查是否强制更新可用于应用。
案例2:
如果您想使用后端处理它,可以进行API版本控制。
注意:请在AWS S3等服务上保留配置文件。
答案 1 :(得分:-1)
Puneet Sharma 在这篇文章中说:https://stackoverflow.com/a/18756151/8354952。
几乎所有对iOS版本的更改都是附加的,因此是一个 使用较低版本的应用程序构建仍在较高的iOS上运行 版。但我们还需要注意API的引入或 已弃用,现有API的行为可能偶尔会发生变化。
基本上,旧版本的应用程序可以在最新的系统版本上运行。但是一些特殊的api或类可能会被弃用,这会导致一些奇怪的行为或崩溃。因此,Apple或Google也会建议用户更新旧版应用程序。
对于我们自己的服务器的api,我们可以自己做兼容的应用程序。上传当前版本标识符,服务器可以通过检测标识符来传输不同类型的数据。