簡體   English   中英

Google Play - 已安裝應用內更新,但它一次又一次顯示更新可用

[英]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 的任何人。 錯誤的不是你的代碼,而是你測試這個庫的方式。

  1. 您測試您的 function 並上傳新聞稿(在添加應用程序更新庫后)到帶有增量版本代碼和版本名稱的 playstore。

  2. 然后你遞減或 -1 你的版本和版本代碼,然后構建新聞發布 apk 並嘗試安裝在你的設備中。 並顯示更新,但安裝失敗。 成功安裝后,您會發現您的版本代碼 apk 與舊版本保持一致。 並一次又一次地彈出更新保持顯示。

正確的測試方法是這樣的:

  1. 您測試您的 function 並上傳新聞稿(在添加應用程序更新庫后)到帶有增量版本代碼和版本名稱的 playstore。 從 Playstore 安裝您的新聞版本

  2. 然后您增加或 +1 您的版本和版本代碼,然后構建新聞發布 apk 或捆綁包並再次上傳到帶有新聞發布的 Playstore。

  3. 然后等待 apk 或 bundle live 在 playstore 中(直到你在 playstore 中看到“Update”),如果應用程序已經存在於 playstore 中,但你沒有在你的應用程序中找到“update”。 您可以清除playstore中的所有數據並在playstore中再次打開您的應用程序,您會發現“更新”

  4. 打開你的apk,你會發現show pop up update,更新必須成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM