Android 和 iOS 应用是否可以通过官方应用市场(应用商店)的接口获取当前应用的最新版本信息?除了官方接口是否还有其他方法?官方是有相关接口或者方法可以实现这一需求,并且也可以通过解析app在应用市场的详情网页获取对应应用的版本号。以下提供一些处理思路:
Android(Google Play)
方法一:通过 Google Play Core 库检测更新
一般情况我们获取版本号是为了检查应用更新,Android 应用可以通过 Google Play Core 库检查当前应用是否有更新版本可用,以及使用 Google Play Core Library 实现应用开启状态后台更新(边用边下载,更新过程不影响用户使用)。
有以下两种更新方式:
- 立即更新:全屏流程,要求用户更新并重启应用以继续使用,适用于核心功能更新。
- 灵活更新:允许用户在后台下载和安装同时使用应用,适合推广非核心新功能。
官方文档: Android 5.0 (API 級別 21) 以上版本
方法二:使用 Google Play Developer API
Google Play 提供了 Google Play Developer API(需要开发者权限),这个 API 主要用于发布和管理应用,虽然没有直接查询应用最新版本的方法,但是应该可以尝试用一些相关的接口实现该目的。
方法三:解析 Google Play Store 网页
如果没有开发者权限,可以通过解析 Google Play Store 页面来获取最新版本号:
Google Play Store 应用商品详情页面 URL 格式:
1 | https://play.google.com/store/apps/details?id=<应用包名> |
示例:
1 | https://play.google.com/store/apps/details?id=com.openai.chatgpt |
解析 HTML 页面中的有关版本号的字段。但是并没有非常明显的特指,这种方式处理起来会比较麻烦。
以下截图为通过查看 ChatGPT 在 GooglePlay 商品详情网页源码查找版本号,找到对应的片段:
iOS(App Store)
使用 App Store Lookup API 查询
iOS 应用通常通过 iTunes Lookup API 检查更新版本。该 API 允许使用应用的 Bundle ID 查询 App Store,获取包括版本号在内的应用信息。
通过 Lookup API 实现版本更新检查的 Github 示例代码:checkVersion-iOS
API 请求格式:
1 | https://itunes.apple.com/lookup?id=<App ID> |
例如:
1 | https://itunes.apple.com/lookup?id=388497605 |
如果直接通过 浏览器访问该链接会自动下载一个 txt 文档,里面包含相关 json 结构数据。
返回的 JSON 结构中,version
字段包含最新版本号(以下示例省略了一些无关数据):
1 | { |
以下截图为通过请求 Google Authenticator 在 App store lookup 查找版本号,找到对应的片段:
Relay Tips: 一极乐( https://yijile.com/zh/android-and-ios-store-apis-get-latest-version-number/ )