2016-08-24 23 views
0

我有一个用例,我们希望有选择地禁用Android,直到用户升级到最低要求的版本。这个问题是为类似案例获取设计输入和最佳实践。以编程方式检查适用于Android的应用的最低所需版本并升级它

典型地,该流动将如下: -

  1. 在开始应用程序,主活动线程将检查当前安装版本的存在。 (我正在寻找指向Google API/TPL以通过编程实现这一目标的指针)。

  2. 然后,应用程序检查所需的最低版本。 (这可以通过在休息服务上维持所需的最低版本来完成)。但是,是否有可能在Play商店中保留所需的最低版本?

  3. 如果当前版本为< min所需版本,强制用户升级。 (重定向用户到应用程序商店,而不是让他们回到应用程序,直到它们升级 - 我也在寻找代码指针这种情况下)

注意,这是从应用程序商店的推送通知不同升级。与推送通知不同,此逻辑将允许我​​的应用在我的用户群中停留在某个最小版本。

回答

1

如果您使用Android Studio,则可以使用以下代码检查当前版本的应用的

int versionCode = BuildConfig.VERSION_CODE; 
String versionName = BuildConfig.VERSION_NAME; 

我不认为在Play商店中维护安装的版本是可能的,所以使用休息API将是选项。

要强制用户更新应用,从API与版本检查当前版本,如果条件不具备显示他们有两个选项一个警告对话框: - 要么退出更新。 要启动更新的意图,你可以做这样的事情

Intent updateIntent= new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + your app package name)); 

UPDATE: 您也可以使用第三方库检查更新。我所使用的一个是gpversionchecker

0

在启动应用程序,主要活动线程将检查 存在当前安装的版本。 (我正在寻找指向Google API/TPL的 以通过编程实现此目标)。

是的,我们可以检查当前安装的应用程序版本。

int versionCode = BuildConfig.VERSION_CODE; 
String versionName = BuildConfig.VERSION_NAME; 

然后该应用检查所需的最低版本。 (通过在休息服务上维持所需的最低版本,可以完成 )。 但是,是否有可能在 Play Store上维持所需的最低版本?

维护使用REST服务的版本控制是一个非常好的主意。我个人希望建议像这样维护REST服务的路径。

https://www.domainname.com/api/v1/

但是,我真的不明白你的意图明确。我想你在谈论Android版本。因此,如果您正在考虑Android应用程序的最低API级别,那么您不必担心它。 Play商店会照顾它。

例如,如果你已经上传了一个你想升级的apk。 Play商店将保持这两个,用户将降低Android版本将获得你上传的旧版APK。您也可以从Google Play开发者控制台中删除旧版应用。

更新:您无法将所有版本的应用程序兼容至最低限定的Android版本级别。只有在您的应用程序中更改了最低SDK级别时,才可以保留不同的版本。

如果当前版本为< min,则强制用户升级所需版本。 (重定向用户到应用程序商店,而不是让他们回到应用 直到他们升级 - 我也在寻找代码指针这种情况下)

如果一些用户正在使用你的应用程序的早期版本,则如果它尚未在应用程序中编码,则不能强制它们更新。虽然我们可以在这里想到一个解决办法。在更新API版本号时(例如https://www.domainname.com/api/v2/),REST API调用可能会停止为旧应用程序提供服务。因此,如果来自服务器的响应消息显示在某处,则可以向他们显示一些消息作为API响应。

更新:所以,如果你希望所有用户,只要你想他们移动到服务器API版本V2下载应用更新,您可能需要采取V1停止所有服务的选择,当一个服务被称为从旧版本的应用程序中,您可能会像我之前讲过的那样给出回复。

希望有帮助!

+0

Umm no。应用版本。我希望将所有版本的应用程序兼容至最低限定的Android版本。但强制升级所需的最低版本的应用程序。 (例如,如果我想在第2版中推出安全功能,并在应用程序最高版本为v3的情况下强制每个用户访问应用程序的第2版,那么人们可以根据自己的意愿进行升级。) –

+0

请参阅更新信息,并告诉我这是否有帮助! :) –

+0

有点,它仍然不清楚如何从Play商店以编程方式获得所需的最低版本的Android应用程序?基本上,我是否需要维护一个休息终点? –

相关问题