4

我刚刚开始研究 inApp 更新。所有代码都按照谷歌文档完成

appUpdateManager.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
        @Override
        public void onSuccess(AppUpdateInfo result) {

            tvPackageName.setText("packagename : "+result.packageName());
            tvCurrentVersionCode.setText("Current version: " + BuildConfig.VERSION_CODE);
            tvAvailableVersion.setText("available version : "+result.availableVersionCode());
            tvUpdateAvailibility.setText("update availibility :  "+ result.updateAvailability());
            tvInstallStatus.setText("install status:  "+ result.installStatus());


            if (result.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE &&
                    result.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {

                try {
                    appUpdateManager.startUpdateFlowForResult(
                            result, AppUpdateType.FLEXIBLE, activity, RC_APP_UPDATE);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                }

            } else if (result.installStatus() == InstallStatus.DOWNLOADED) {
                popupSnackbarForCompleteUpdate();
            } else {
                Log.e("issue", "checkForAppUpdateAvailability: something else");
            }
        }
    });

但现在非常重要的部分是通过内部应用共享测试应用内更新

为此,我关注了test_inappupdate 的(Android Dev Summit '19)视频和内部应用共享*

我和他说的一样,但更新弹出对话框没有进入我的应用程序

在此处输入图像描述

第 1 步:我从 Playstore 应用程序设置测试模式
第 2 步:我在 inappsharing 上传版本代码 - 10 应用程序
第 3 步:共享链接并从链接下载应用程序
第 4 步:根据 android 视频屏幕截图说我上传具有相同版本的新版本。
第 5 步:单击新生成的链接。
第 6 步:再次打开应用程序 (但弹出对话框未打开,状态 = UPDATE_NOT_AVAILABLE)
在此处输入图像描述

4

5 回答 5

0

在测试设备上,只需单击应用程序更新版本的内部应用程序共享链接。请勿从单击链接后看到的 Google Play 商店页面安装该应用程序。从设备的应用程序抽屉或主屏幕打开应用程序。该更新现在应该可供您的应用使用,您可以测试应用内更新的实现。

https://developer.android.com/guide/playcore/in-app-updates#internal-app-sharing

于 2020-07-21T19:14:10.107 回答
0
  • 应用内更新仅适用于拥有该应用的用户帐户。因此,在使用该帐户测试应用内更新之前,请确保您使用的帐户至少从 Google Play 下载了您的应用一次。

  • 确保您用于测试应用内更新的应用具有相同的应用 ID,并且使用与 Google Play 提供的相同的签名密钥进行签名。

  • 由于 Google Play 只能将应用更新到更高版本代码,因此请确保您正在测试的应用的版本代码低于更新版本代码。

  • 确保帐户符合条件并且 Google Play 缓存是最新的。为此,在测试设备上登录 Google Play 商店帐户时,请执行以下操作:

    1. 确保完全关闭Google Play 商店应用。
    2. 打开 Google Play 商店应用并转到我的应用和游戏选项卡。
    3. 如果您正在测试的应用程序没有出现可用更新, 请检查您是否已正确设置测试轨道。

注意:应用内更新功能适用于 API 级别 21 或更高版本,并且仅适用于 Play 商店中的应用。

于 2019-11-28T10:27:24.240 回答
0

我承认这并不理想,但您可以先通过更传统的内部测试轨道之一测试您的应用内更新。如果它在那里工作,那么你知道你的应用程序代码很好,这只是内部应用程序共享的问题。

于 2019-11-27T17:58:55.230 回答
0

该视频提供了过时的信息。重新上传相同的包/apk 无助于测试应用内更新。我成功地将两个连续版本推送到内部应用程序共享。

检查此答案以获取详细信息:https ://stackoverflow.com/a/59266778/15139

于 2019-12-10T12:07:38.453 回答
0

您是否在 google studio 中使用不同的帐户进行应用程序开发?您需要连接到您获得应用程序 ID 和密钥的账户。

于 2019-11-29T21:05:59.777 回答