是否可以从 Google Play Developer Console 以编程方式为我自己的应用获取应用安装计数?
当然,可以尝试以编程方式登录并发出一些 Web 请求,这将返回带有统计信息的 json,该统计信息在网站本身上用于显示统计信息,但这对我来说似乎并不可靠。
我找到了一个https://code.google.com/p/androidappstats/,但它似乎有点过时了。
是否可以从 Google Play Developer Console 以编程方式为我自己的应用获取应用安装计数?
当然,可以尝试以编程方式登录并发出一些 Web 请求,这将返回带有统计信息的 json,该统计信息在网站本身上用于显示统计信息,但这对我来说似乎并不可靠。
我找到了一个https://code.google.com/p/androidappstats/,但它似乎有点过时了。
看看 GitHub 上的Andlytics项目。它是一个开源应用程序,也可在 Google Play 上找到。您将在链接的 GitHub 页面上找到指向该链接的链接。
但是,它(目前)不适用于 Google Play 商店中的某个特定应用程序。而是连接到您的开发者帐户并获取有关使用相同发布的每个应用程序的信息。
话虽如此,由于它是开源的,我相信它可以进行调整以适合您的确切目的。
这里还有一个非官方的 API:https ://code.google.com/p/android-market-api/ 。但是快速浏览一下来源表明这不再/定期更新。
另一方面,Andlytics 会定期更新(以适应对 Google Play 商店所做的任何更改)。
有一个非官方的库,可以在https://code.google.com/p/android-market-api/找到
好吧,我选择了以下解决方案。由于我是一名 .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();