【发布时间】:2011-05-30 11:32:29
【问题描述】:
如果您是某个已安装应用的ApplicationInfo,有没有办法找出它的市场类别?
【问题讨论】:
标签: android
如果您是某个已安装应用的ApplicationInfo,有没有办法找出它的市场类别?
【问题讨论】:
标签: android
ApplicationInfo 将只提供与应用程序清单相关的信息(包名、应用程序名、图标、.....)。您将无法检索该应用程序的市场数据。
无法使用 Android SDK 检索市场特定项目,例如价格、市场类别、置顶大图。
有“非官方”的第三方 API 可用于执行此操作。例如:http://code.google.com/p/android-market-api/
【讨论】:
如果你只是想要一个肮脏的方式,这是我的 php 代码:
<?
$package_name = "com.devbro.appdrawer";
$content = file_get_contents('https://play.google.com/stor/apps/details?id='.$package_name);
preg_match_all("|/store/apps/category/(.*)\?feature=category-nav|U",$content,$out,PREG_PATTERN_ORDER);
echo $out[1][0];
【讨论】:
ApplicationInfo 仅返回从 AndroidManifest.xml 的 <application> 标记收集的信息。
您尝试访问的是 Google Play 商店的特定信息,这是开发者在从其开发者的帐户信息中心发布应用后指定的信息。另请注意,“类别”可以在以后随时更改...
要获取应用的类别,您需要从 Google Play 本身获取该数据。例如,您可以开发自己的 HTML 爬虫,解析页面并提取应用程序“类别”。此主题已在其他问题中涉及,例如 here。
如果您不想自己实现所有这些,可以使用第三方服务通过基于 JSON 的 API 访问 Android 应用元数据。
例如,42matters.com(我工作的公司)为 Android 和 iOS 提供统一的 API,这里有更多详细信息:
https://42matters.com/app-market-data
使用“lookup”端点,您可以通过指定其“包名称”(即其标识符)来请求特定的 Android 应用元数据。在 JSON 响应中,它将返回您在 Google Play 上找到的“类别”。
我希望这会有所帮助:)
【讨论】: