[英]Play Core in app update giving UPDATE_NOT_AVAILABLE on production release
[英]Google Play - In App Update is installed but it shows update available again and again
最近,我在我的應用程序中添加了應用程序更新功能,具有即時更新流程。 這是我正在檢查並請求更新 MainActivity 的onCreate()
像這樣初始化onCreate()
中的變量
appUpdateManager = AppUpdateManagerFactory.create(this);
appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
在 onCreate() 中,我添加了這段代碼
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
Toast.makeText(app, "update available", Toast.LENGTH_SHORT).show();
//update is available
try {
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE, this, Constant.APP_UPDATE_RQ_CODE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
Log.e(TAG, "Update app error: " + e.getMessage());
Toast.makeText(app, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
而 onActivityResult() 中的這段代碼
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == Constant.APP_UPDATE_RQ_CODE) {
if (requestCode == RESULT_OK){
//update is failed, request update again
Toast.makeText(app, "this is called again and again!", Toast.LENGTH_SHORT).show();
requestUpdateApp();
}
}
}
問題是,在更新應用程序后,總是appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
真,這就是為什么在應用程序更新對話框中一次又一次地顯示的原因。 請幫我解決這個問題。
對於無法從 Playstore 安裝更新 apk 的任何人。 錯誤的不是你的代碼,而是你測試這個庫的方式。
您測試您的 function 並上傳新聞稿(在添加應用程序更新庫后)到帶有增量版本代碼和版本名稱的 playstore。
然后你遞減或 -1 你的版本和版本代碼,然后構建新聞發布 apk 並嘗試安裝在你的設備中。 並顯示更新,但安裝失敗。 成功安裝后,您會發現您的版本代碼 apk 與舊版本保持一致。 並一次又一次地彈出更新保持顯示。
正確的測試方法是這樣的:
您測試您的 function 並上傳新聞稿(在添加應用程序更新庫后)到帶有增量版本代碼和版本名稱的 playstore。 從 Playstore 安裝您的新聞版本
然后您增加或 +1 您的版本和版本代碼,然后構建新聞發布 apk 或捆綁包並再次上傳到帶有新聞發布的 Playstore。
然后等待 apk 或 bundle live 在 playstore 中(直到你在 playstore 中看到“Update”),如果應用程序已經存在於 playstore 中,但你沒有在你的應用程序中找到“update”。 您可以清除playstore中的所有數據並在playstore中再次打開您的應用程序,您會發現“更新”
打開你的apk,你會發現show pop up update,更新必須成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.