在我的应用中,我推荐相关应用,但只想推荐它们,如果它们实际上可以安装在设备上(例如相关应用的目标国家/地区的设备,正确的操作系统版本等)。见https://developer.android.com/google/play/filters.html
答案 0 :(得分:7)
不幸的是,没有API 来将应用与特定设备进行比较。 Play商店是在内部以某种方式做的。
所以,第二种方法是要走的路。最常见的过滤器是
Country(因为您无法检索"播放商店国家",请使用其他方法......)
String locale = context.getResources().getConfiguration().locale.getCountry();
// or if you are sure there is a SIM-card
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String countryCode = tm.getSimCountryIso();
// or use country of current network (i.e. from 3G)
String countryCode = tm.getNetworkCountryIso()
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
// only for gingerbread and newer versions
}
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
您可能需要检查其他内容,例如可用的传感器(您可以通过getSensorList
执行此操作)。要列出它们,所有这些都会创建一个很长的列表,找到所有找到这些东西的API很容易,所以我不会列出所有这些。
通过检查国家/地区,版本和屏幕尺寸,您应该对大多数应用都安全。
答案 1 :(得分:2)
是否有任何API可以让我查询我是否给定了一个应用程序 建议通过链接到market:// details?id = package_name即可 安装在本地设备上?
是的,但是我想到的api /技巧可能根本不符合你的要求。
这是Google的一项实验性功能,据我所知仅适用于网络应用程序(不是Android应用程序,但我认为它可能适用于Android网络浏览器,因此您的应用程序可能无法结束看起来像本地人一样),它要求您的用户拥有Google+登录信息(不仅仅是一个Gmail帐户),并且您需要手动将Google列入白名单才能使用它。
我们的想法是,一旦您在(列入白名单的)第三方网站上使用Google+登录,您就可以点击第三方网站上的安装按钮,第三方网站会弹出一个窗口,为您提供一个单击“安装”按钮以确认权限并进行远程安装以进行无线更新。
正如您从下面屏幕截图的网址栏中看到的那样,弹出窗口实际上来自Google Play域名,因此从技术上讲,它只是一个简单的技巧,旨在为用户提供无需完全离开您的网站即可安装应用程序。
另外,我希望您注意到当前的下拉选择框,其中包含您设备的名称。您无法在此处看到它,但选择框中包含您的Google+帐户中的所有已注册设备,并且它仅显示与您实际应用程序兼容的设备的黑色字体。
现在是坏消息。在此示例中,网站属于TuneIn无线电,Android应用程序也属于TuneIn无线电。我个人不知道是否可以为列出它自己没有的Android应用程序的网站启用此功能。这将是一个你不得不问谷歌的问题。
目前,这个api仍然只是网络。这是Google员工在您要求他们将您的申请列入白名单时可能会提出的异议。
目前,TuneIn广播允许您使用Google+帐户注册设备,但它并未显示我在参加的演示文稿中看到的内容。在我看到的演示文稿中,用户无需注册设备,一旦Google+登录与帐户关联,一切都无缝完成。因此,查看tunein.com电台web site itself对您来说可能不是很有用。
最后,我相信谷歌对其他第三方App商店皱眉,所以在向谷歌提起诉讼之前,试图将自己纳入此api的白名单。请务必仔细遵守Google Play商店的条款和服务,并准备好考虑Google最终如何从您(以及其他像您这样的人)使用此类功能中受益。
这是github上的slide deck(出于某种原因,幻灯片本身的显示不再适用于我)。您需要与这些Google员工联系,以便为此api列入白名单。他们的联系信息/ Google +信息位于幻灯片中。
请告诉我们您的进展情况。我很有兴趣知道你是否能克服我上面列出的任何问题。