使用 API 从 Google Play 开发者那里获取统计信息

Posted

技术标签:

【中文标题】使用 API 从 Google Play 开发者那里获取统计信息【英文标题】:Getting statistics from Google Play Developers with an API 【发布时间】:2012-12-17 22:08:41 【问题描述】:

我负责开发一个网站,该网站应该能够向客户显示来自 Apple 应用商店和 Google Play 商店的统计数据,以便他们可以轻松查看正在发生的事情。

我已经想出了一些获取 App Store 数据的方法,但 Google Play 开发者的统计数据似乎更难获取。

我听说过抓取,但这不是一个很好的解决方案,因为每当开发人员控制台获得重大更新时,它可能会被破坏。

我正在寻找可以像 Andlytics 或 App Annie 一样工作的东西,例如,我可以使用 AJAX 或其他东西(可能是 JSON 格式?)获取数据并将其放入数据库。

目前,我还没有找到任何可靠的解决方案(除了抓取,这似乎是一种不稳定的方法),而且这个问题已经问过一段时间了,所以我允许自己再问一次,因为也许现在有一些解决方案可以解决这个问题。

我能找到的只有 Google Play API,它允许我从应用程序的公共页面获取数据,但不能从开发者控制台获取数据,并进行身份验证。

任何提示或帮助将不胜感激:)

【问题讨论】:

那太好了!当我有一个更完整的版本时,我会在这篇文章中回复你(现在我只收集了一些数据和两个 POST 身份验证后,所以还有很多工作要做,我还在考虑我应该选择正确的输出对象模型)但我正在路上! 您好,我设法让脚本正常工作,但最近有人告诉我,由于 Google 服务的一些重大变化,它现在无法正常工作。因此,它目前需要一些修复。另外,我确实制作了一个伪教程并将其发布在这里,但我的答案被删除了,因为它“只是一个外部链接”...... @BabakBandpay 实际上,我使用的是完全不同的身份验证方法,因为 Oauth2 不允许我们通过开发人员控制台的服务进行身份验证,所以我从头开始,通过发送 3 个 HTTP requests : 1) 一个 GET 到身份验证页面,收集 cookie 和我们需要的其他信息 2) 使用这些值 + 我的登录凭据的 POST,获取 xsrftoken 和 developersconsoleaccounts 变量 3) 然后我们可以使用这两个发出 POST 请求我们获取的数据,并获取例如应用列表等。 @BabakBandpay 我可以提供更多详细信息,因为要使这些请求正常工作需要做很多设置,但我认为 cmets 不是这样做的正确位置。另外,我使用 cURL 来发送请求。 @Innova 在您进行第一次 GET 调用后,您应该准备好以下数据:帐户用户名和密码、从之前的 GET 存储的 cookie(我个人使用 CuRL)、GALX 值,其中可以从您的 cookie 存储文件中检索(它实际上是您刚刚获取的 cookie 之一)。 【参考方案1】:

愿源与你同在。

Andlytics 是 open sourced 并且正在积极开发中,您可能会在其中找到一些有用的东西 :)

【讨论】:

实际上,在我创建脚本时,开发 Andlytics 的工作人员给了我很多启发和帮助(在 GitHub 上),所以是的,这很有用!即使现在,三个月前我已经设法制作了一个可以工作的 php 脚本,但我当时确实仔细查看了 Andlytics 的源代码,想知道该怎么做。 据我所知没有。 嗯,刚刚出现了一些新东西。不完全是实时的,也不是 API 可访问的,但您现在可以将数据导出到谷歌驱动程序并以编程方式访问它android-developers.blogspot.com.ar/2015/04/… @RobertEstivill 这帮了大忙!谢谢。【参考方案2】:

您的 Google Play 统计信息会发布到存储在 Google Cloud Storage (https://support.google.com/googleplay/android-developer/answer/6135870?p=financial_export&rd=1#export) 存储桶中的文件中

您可以下载上述链接中提到的 gsutil 工具并将其设置为 cron 作业,以便每天将文件复制到您想要的任何位置,或者您可以使用 Google Cloud Storage API (https://cloud.google.com/storage/docs/apis)自己去拿文件。

【讨论】:

【参考方案3】:

Google 似乎已经允许我们通过他们的 API 获取这些数据。这是一个页面,其中包含您可以发出请求的所有可用指标。

https://developers.google.com/analytics/devguides/reporting/core/dimsmets#mode=web&cats=user,lifetime_value_and_cohorts,channel_grouping,app_tracking

【讨论】:

这看起来很有希望!感谢您的洞察力。【参考方案4】:

我知道这个问题已经得到解答,但这个解决方案值得特别关注。有一种从开发者控制台获取数据的好方法。看一看:https://github.com/tmurakam/googleplay_dev_scraper

我在我的树莓派上运行它,它运行得非常好。使用 bash 脚本安装和进一步自动化它非常简单。我真的向任何有兴趣从开发者控制台获取数据的人推荐这个刮板!有了这个,你可以从开发者控制台获取几乎所有的数据。我会定期抓取下载次数并将其保存到我的网页中。

【讨论】:

【参考方案5】:

您可以在 ios 和 Android 项目中使用 Google Analytics 来记录安装和应用内购买。您可以查看here。将谷歌分析添加到两个平台应该很容易。

【讨论】:

这不是我正在寻找的解决方案,因为我(和我正在做测试的朋友的帐户)总共拥有至少 30 个应用程序。另外,如果我添加了谷歌分析,我不会有任何统计历史记录,它只会从我将它添加到应用程序的那一天开始。无论如何,我已经准备好验证和获取统计信息,但是我必须完成与此相关的组项目,以便我可以使用一些函数来做一个小的 php lib(如 cmets 中所建议的)来实现这一点。请大家耐心等待:)【参考方案6】:

为什么不使用 App Annie、AppFigures(和类似的)API,让他们负责抓取/连接 Google Play 和 App Store?

http://support.appannie.com/categories/20082753-Analytics-API

http://docs.appfigures.com/

【讨论】:

实际上,就我而言,与我合作的公司(我在那里实习)的目的是从头开始构建这项服务,而不是使用来自其他网站的现有 API。但是,是的,这可以帮助一些目标不太精确的人,谢谢你的提示:) @wizche。我只想每天安装我的一个应用程序(iOs 和 Android)平台。 appannie 有没有免费的 api 来获取这些数据?

以上是关于使用 API 从 Google Play 开发者那里获取统计信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AndroidPublisher api 在 google play store 中检索任何 google 应用程序的评论?

错误:“用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接。”

如何从 Android 中的 Google Play Games API 中提取多个排行榜?

Google 开发者控制台中的“我们检测到您的应用正在使用旧版本的 Google Play 开发者 API”警告是啥?

是否可以使用服务帐户访问 Google Play 游戏服务 API?

在服务中访问 Google Play 服务位置 API