You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter技术问题:如何通过应用ID获取Google Play商店最新版本号

获取Google Play商店最新版本号的可行方案

官方可靠方案:Google Play Developer API

这是Google提供的官方接口,能精准获取你自己应用的各渠道(生产、测试等)最新版本号,前提是你是该应用的开发者:

  1. 登录Google Cloud控制台,创建新项目并启用「Google Play Android Developer API」
  2. 在Google Play开发者后台的「API访问」页面,关联你的Cloud项目,创建服务账号并下载JSON密钥
  3. 在代码中通过服务账号签名请求,调用edits.tracks.get接口,传入应用ID和目标渠道(如production),即可获取对应渠道的最新版本信息

非官方方案:网页内容解析

如果只是想获取公开的应用版本号,可以通过请求Google Play应用详情页的源码,提取版本信息。这种方法无需开发者权限,但稳定性依赖页面结构,且需遵守Google服务条款:
示例Flutter代码(适配你的package_info_plus使用场景):

import 'package:http/http.dart' as http;
import 'dart:regexp';

Future<String?> fetchPlayStoreLatestVersion(String appId) async {
  try {
    final uri = Uri.parse('https://play.google.com/store/apps/details?id=$appId&hl=en');
    final response = await http.get(uri);
    
    if (response.statusCode == 200) {
      // 匹配页面中的当前版本号(注意:页面结构可能变更,需定期验证正则)
      final versionRegex = RegExp(r'Current Version</div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">([0-9.]+)</span>');
      final match = versionRegex.firstMatch(response.body);
      return match?.group(1);
    }
  } catch (e) {
    // 处理网络错误或解析失败
    print('Failed to fetch Play Store version: $e');
  }
  return null;
}

注意:Google Play页面结构可能随时调整,正则表达式需要对应更新;同时控制请求频率,避免触发反爬机制导致IP被限制。

第三方工具/SDK(谨慎选择)

部分Flutter第三方包(如version_checker)封装了版本检测逻辑,内部通常也是基于网页解析或第三方服务。使用前务必评估包的维护状态和隐私政策,避免引入不必要的风险。

内容的提问来源于stack exchange,提问作者Leong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:06:03