如何处理移动应用程序中过时的 api
Posted
技术标签:
【中文标题】如何处理移动应用程序中过时的 api【英文标题】:How to deal with obsolete api’s in a mobile app 【发布时间】:2018-03-22 14:29:37 【问题描述】:虚构的情况如下:我有一个已发布到商店大约一年的移动应用程序(适用于 ios 和 android)。我正在准备新版本的应用程序。后端的一些 api 已过时或弃用。
问题是应用程序的用户如果不更新应用程序到新版本,应用程序的运行会遇到问题,因为后端api已经被替换或删除。
问题是如何在成为问题之前处理这种情况? 对于不同版本的应用程序之间的过时功能,苹果或谷歌是否有任何指南?
【问题讨论】:
【参考方案1】:@Dimitris,这里您需要对旧应用程序进行强制更新。这可以使用应用程序配置文件来完成。基本上,您将拥有一个应用配置文件,其中包含带有以下键的 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。您可以将所有的服务 URL 放在这个文件中。
案例一:
您的应用将在启动时检查该应用是否可以强制更新。
案例 2:
如果您想使用后端处理 API 版本控制,可以进行。
注意:请保留 AWS S3 等服务的配置文件。
【讨论】:
在 API 可用的情况下,您可以添加 @available(iOS 2.0, *) 以明智地为用户版本提供实现。【参考方案2】:正如 Puneet Sharma 在这篇文章中所说:https://***.com/a/18756151/8354952。
几乎所有对 iOS 版本的更改都是附加的,因此 使用较低版本构建的应用程序仍可在较高版本的 iOS 上运行 版本。但我们也需要注意 API 的引入或 已弃用,现有 API 的行为可能偶尔会发生变化。
基本上旧版本的应用程序可以在最新的系统版本上运行。但是某些特殊的 api 或类可能会被弃用,这会导致一些奇怪的行为或崩溃。所以苹果或谷歌也会推荐用户更新旧版本的应用程序。
对于我们自己服务器的api,我们可以自己做应用兼容性。上传当前版本标识,服务器通过检测标识可以传输不同类型的数据。
【讨论】:
以上是关于如何处理移动应用程序中过时的 api的主要内容,如果未能解决你的问题,请参考以下文章