如何让 Android 和 iOS 应用通过应用商店的接口获取当前应用最新版本号(App Store、Google Play)

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 商品详情网页源码查找版本号,找到对应的片段:

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
2
3
4
5
6
7
8
9
10
11
12
{
"resultCount": 1,
"results": [
{
"trackId":388497605,
"currentVersionReleaseDate":"2024-06-26T21:59:59Z",
"releaseNotes":"• Bug fixes and improvements.",
"version":"4.2.1",
"wrapperType":"software"
}
]
}

以下截图为通过请求 Google Authenticator 在 App store lookup 查找版本号,找到对应的片段:

通过请求 Google Authenticator 在 App store lookup 查找版本号

Relay Tips: 一极乐https://yijile.com/zh/android-and-ios-store-apis-get-latest-version-number/