Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式获取自己的Android应用统计数据?_Android_Google Play_Google Play Services - Fatal编程技术网

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

如何以编程方式获取自己的Android应用统计数据?,android,google-play,google-play-services,Android,Google Play,Google Play Services,是否可以从Google Play开发者控制台为我自己的应用程序以编程方式获取应用程序安装计数 当然,可以尝试以编程方式登录并发出一些web请求,这将返回json,其中包含站点本身用来显示统计信息的统计信息,但这对我来说并不可靠 我找到了一个,但它似乎有点过时。有一个非官方的库,可以在找到一个非官方的库,可以在查看GitHub上的项目。它是一个开源应用程序,也可以在谷歌Play上使用。您将在GitHub链接页面上找到指向该链接的链接 然而,目前谷歌Play商店上没有一个特定的应用程序。而是与您的开

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

当然,可以尝试以编程方式登录并发出一些web请求,这将返回json,其中包含站点本身用来显示统计信息的统计信息,但这对我来说并不可靠


我找到了一个,但它似乎有点过时。

有一个非官方的库,可以在

找到一个非官方的库,可以在

查看GitHub上的项目。它是一个开源应用程序,也可以在谷歌Play上使用。您将在GitHub链接页面上找到指向该链接的链接

然而,目前谷歌Play商店上没有一个特定的应用程序。而是与您的开发人员帐户连接,并获取有关使用相同帐户发布的每个应用程序的信息

话虽如此,由于它是开源的,我相信它可以调整以满足您的确切目的

这里还有一个非官方的API:。但是,快速查看一下源代码,就会发现它不再定期更新

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

看看GitHub上的项目。它是一个开源应用程序,也可以在谷歌Play上使用。您将在GitHub链接页面上找到指向该链接的链接

然而,目前谷歌Play商店上没有一个特定的应用程序。而是与您的开发人员帐户连接,并获取有关使用相同帐户发布的每个应用程序的信息

话虽如此,由于它是开源的,我相信它可以调整以满足您的确切目的

这里还有一个非官方的API:。但是,快速查看一下源代码,就会发现它不再定期更新


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

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

在史蒂文·桑德森的博客中,我发现了一篇关于无头浏览器自动化的文章

以下是我编写的代码:

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();

那么,我选择了下面的解决方案。 由于我是一名.NET程序员,使用Java库对我来说并不容易,而且我没有足够的时间和意愿将它们重写为C

在史蒂文·桑德森的博客中,我发现了一篇关于无头浏览器自动化的文章

以下是我编写的代码:

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();

您确定此库允许我从开发人员控制台获取自己应用程序的精确统计信息吗?您确定此库允许我从开发人员控制台获取自己应用程序的精确统计信息吗?