2016-08-24 22 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應用程序?基本上,我是否需要維護一個休息終點? –

相關問題