如何以编程方式获取自己的Android应用统计数据?

时间:2013-03-20 11:41:04

标签: android google-play google-play-services

是否可以通过Google Play开发者控制台为我自己的应用程序以编程方式获取应用安装数量?

当然,可以尝试以编程方式登录并发出一些Web请求,这将返回json,其中包含在网站上使用的统计信息以显示统计信息,但这对我来说似乎不可靠。

我找到了https://code.google.com/p/androidappstats/,但似乎有点过时了。

3 个答案:

答案 0 :(得分:2)

查看GitHub上的Andlytics项目。它也是Google Play上提供的开源应用程序。您将在链接的GitHub页面上找到指向该链接的链接。

但是,对于Google Play商店中的某个特定应用,它不是(当前)。而是与您的开发者帐户连接,并获取有关使用该帐户发布的每个应用程序的信息。

话虽如此,因为它是开源的,我相信它可以调整以适合您的确切目的。

此处还有一个非官方的API:https://code.google.com/p/android-market-api/。但是,快速浏览消息来源表明,这不会再次/定期更新。

另一方面,Andlytics会定期更新(以适应对Google Play商店所做的任何更改)。

答案 1 :(得分:1)

有一个非官方的图书馆,可以在https://code.google.com/p/android-market-api/

找到

答案 2 :(得分:1)

好吧,我选择了以下解决方案。 由于我是.NET程序员,因此使用Java库并不容易,而且我没有足够的时间和意愿将它们重写为C#。

在Steven Sanderson的博客中,我发现了一篇关于无头浏览器自动化的文章(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();