用Bintray的新统计API捕获第100万次下载
更新:从2021年5月1日起,Bintray服务将不再可用(ConanCenter和JCenter不受影响),欲了解更多信息,请阅读Centers弃用博客
想知道您的软件包被下载了多少次?Bintray一直通过其UI提供下载统计数据,但现在您还可以通过REST API获得专业存储库的统计数据。在任何时间框架内每个版本的下载量的详细统计数据可以让您深入了解软件发行版的消费情况。
如果你从未在Bintray中使用过统计数据,请在用户指南中查看。
让我们看一个例子
假设我想要获得2015年10月1日至10月8日“myCoolPackage”的每日下载量。这是在Bintray UI中显示的数据:
根据图表,“myCoolPackage”在此期间的总下载量为147,752次。我们可以清楚地看到每天都有下载量;10月4日(周日)和10月8日(图表是在10月8日中午左右生成的)出现了下跌,最受欢迎的版本是1.1.0而且1.2.0.
现在您可以使用新的REST API以编程方式获取所有这些信息。下面是REST API文档中描述的“每日下载量”API:
GET /包/主题/:/统计/ time_range_downloads回购/:包
要获得上面图表中显示的统计数据,我将使用以下命令:
curl -X GET "https://api.bintray.com/packages/tamarUser/Maven/myCoolPackage/stats/time_range_downloads" -u tamarUser:***my-top-secret-api-key*** -H "content-type:application/json" -d " {\"from\":\"2015-10-01T12:08:56.235z\",\"to\":\"2015-10-08T12:08:56.235z\"}"
我得到以下JSON格式的响应:
{“从”:“2015 - 10 - 01 t00:00:00.000z”、“到”:“2015 - 10 - 08 - t23:59:59.999z”、“记录”:[{“日期”:“2015-10-01”、“下载”:[{“版本”:“1.0.5”,“数”:1939},{“版本”:“1.1.0”,“数”:6950},{“版本”:“1.1.3”,“数”:293},{“版本”:“1.1.7”,“数”:116},{“版本”:“1.2.0”,“数”:10111},{“版本”:“1.2.1”,“数”:1329},{“版本”:“1.2.2”、“数”:1706}]},{“日期”:“2015-10-02”、“下载”:[{“版本”:“1.0.5”,“数”:315},{“版本”:“1.1.0”,“数”:6975},{“版本”:“1.1.3”,“数”:198},{“版本”:“1.1.7”,“数”:121},{“版本”:“1.2.0”,“数”:9967},{“版本”:“1.2.1”,“数”:1290},{“版本”:“1.2.2”、“数”:1759}]},{“日期”:“2015-10-03”、“下载”:……]}
响应提供了Bintray在UI中创建图表时使用的所有相同数据。对于请求日期范围内发生下载的每一天,它会列出每个版本的下载数量。作为简单的JSON输出,您可以轻松地解析响应,并以任何方式使用它,帮助您快速有效地分析软件包下载。你现在能够识别下载趋势,你的流行版本等等。
REST api的其他统计数据包括:总下载量和按国家划分的下载量。请关注我们的博客,了解我们添加的新api。
好运!
