是否有可能通过程序从Google Play开发者控制台为我自己的应用程序安装应用计数?如何以编程方式获取自己的Android应用统计信息?
当然,可以执行一个尝试以编程方式登录并发出一些web请求,这将返回json与网站本身使用的统计信息来显示统计信息,但这对我来说似乎不可靠。我发现了https://code.google.com/p/androidappstats/,但它似乎有点过时了。
是否有可能通过程序从Google Play开发者控制台为我自己的应用程序安装应用计数?如何以编程方式获取自己的Android应用统计信息?
当然,可以执行一个尝试以编程方式登录并发出一些web请求,这将返回json与网站本身使用的统计信息来显示统计信息,但这对我来说似乎不可靠。我发现了https://code.google.com/p/androidappstats/,但它似乎有点过时了。
那么,我选择了以下解决方案。 因为我是一名.NET程序员,所以使用Java库并不容易,而且我也没有足够的时间将它们重写为C#。
在史蒂芬·桑德森的博客,我发现无头的浏览器自动化的文章(http://blog.stevensanderson.com/2010/03/30/using-htmlunit-on-net-for-headless-browser-automation/)
这里是我写的代码:
WebClient _webClient = new WebClient(BrowserVersion.FIREFOX_17);
_webClient.getOptions().setUseInsecureSSL(true);
_webClient.getOptions().setThrowExceptionOnScriptError(false);
_webClient.getOptions().setRedirectEnabled(true);
var page = (HtmlPage)_webClient.getPage("https://play.google.com/apps/publish/v2/");
HtmlInput emailElement = (HtmlTextInput)page.getElementById("Email");
emailElement.type(Settings.Default.Login);
HtmlInput passwordElement = (HtmlInput)page.getElementById("Passwd");
passwordElement.type(Settings.Default.Password);
HtmlSubmitInput signInLink = (HtmlSubmitInput)page.getElementById("signIn");
HtmlPage page2 = (HtmlPage)signInLink.click();
_webClient.waitForBackgroundJavaScript(2000);
var installsNode = (from p in page2.getElementsByTagName("p").toArray().Cast<HtmlParagraph>()
let data_column = p.getAttribute("data-column")
where data_column != null && "INSTALLS".Equals(data_column, StringComparison.OrdinalIgnoreCase)
select p).FirstOrDefault();
发现看一看在GitHub上Andlytics项目。它也是Google Play上的开源应用程序。你会在链接的GitHub页面上找到一个链接。
但是,它不是(目前)在Google Play商店上的一个特定应用程序。而是与您的开发者帐户连接,并获取有关使用相同方式发布的每个应用程序的信息。
这就是说,既然它是开源的,我相信它可以调整以适应你的确切目的。
这里还有一个非官方的API:https://code.google.com/p/android-market-api/。但快速查看源代码表明,这不会更新/定期更新。
Andlytics另一方面是定期更新(以适应对Google Play商店所做的任何更改)。
你确定这个库可以让我获得精确的统计我开发者控制台提供的应用 – 2013-03-20 12:02:29