在安装应用程序以及打开应用程序之前如何获取用户详细信息?

时间:2019-03-30 09:37:44

标签: android broadcastreceiver android-service

当我尝试获取刚刚安装我的应用程序的用户详细信息时(用户尚未打开我的应用程序,只是下载了)。由于Google Play控制台不提供统计信息,因此会出现此问题。根据地区明智(仅根据国家/地区/语言/版本/运营商等)。 我正在尝试获取用户的州/邮编,以了解下载来自哪个区域。

我尝试了一种仅在用户打开应用程序且没有任何活动就关闭时才起作用的解决方案,在这种情况下,我正在启动屏幕上启动后台服务以获取其当前地址并获取邮政编码/状态

这是我当前的解决方案流程:

User Opens App --> [1] Splash Screen --> User Closes my app

[1] --> [2] Background service to get his/her location and zip code --> [3] sending to server.

我正在寻找一个答案,可以获取我内部应用程序的下载统计信息(区域明智)的用户的邮政编码/状态。

1 个答案:

答案 0 :(得分:4)

我认为,除非您进行Broadcast receiver黑客攻击,否则您想要实现的目标是不可能的。从Google Play控制台开发者处,您可以检查每个国家/地区的下载量

enter image description here

但是我想您不能深入了解邮政编码,而且我也不认为这是合法的。

不打开应用程序就很难了解所有信息,因此,如果您想了解此信息,则必须在Splash Activity中处理此信息,以便可以使用该信息做任何您想做的事情。

要获取邮政编码,您可以使用Geocoder API并使用getFromLocaitonName方法,这样您就可以获得List<Address>并且可以getPostalCode()并返回:

  

返回地址的邮政编码,例如“ 94110”;如果未知,则返回null。

一个小例子是(检查无效性example with nullabilities

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> mList = geocoder.getFromLocation(lat, lon, 1);
String zipcode = mList.get(0).getPostalCode();

或者您可以看看这个Get zip code from latitude longitude