如何从 google play store 获取应用市场版本信息?

新手上路,请多包涵

如何从 google play store 获取应用程序版本信息,以便在更新 play store 应用程序时提示用户强制/推荐应用程序更新,即如果用户使用旧版本应用程序。我已经通过了 andorid-market-api 这不是官方方式,并且还需要来自 google 的 oauth 登录 身份验证。我还通过了提供应用内版本检查的 android 查询,但在我的情况下它不起作用。我找到了以下两种选择:

  • 使用将存储版本信息的服务器 API
  • 使用谷歌标签并在应用内访问它,这不是首选方式。

还有其他方法可以轻松做到吗?

原文由 ravidl 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
1 个回答

使用新的 google play 页面,可以提取 AF_initDataCallback 调用中的数据,解析它以获取版本字符串。这是 ts/js 代码中用于解析数据的代码:

 import json5 from "json5";

const packageId = "com.and.games505.TerrariaPaid";
const gplayResponse = await fetch(`https://play.google.com/store/apps/details?id=${packageId}`);
const siteText = await gplayResponse.text();
const matches = siteText.matchAll(/<script nonce=\"\S+\">AF_initDataCallback\((.*?)\);/g);

for (const match of matches) {
    const data = json5.parse(match[1]); // json5 parse or js eval should work here
    try {
        return data["data"][1][2][140][0][0][0];
    } catch {}
}

我在这里托管了一个 cloudflare 工作者,它返回版本代码: https ://gplay-ver.atlasacademy.workers.dev/?id=com.and.games505.TerrariaPaid

源代码

原文由 Cereal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题