【问题标题】:Testing in app update with Internal app sharing使用内部应用共享在应用更新中进行测试
【发布时间】:2019-11-22 09:53:49
【问题描述】:

我刚刚开始研究 inApp 更新。所有代码都按照google document

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 with internal app sharing* 的(Android Dev Summit '19)视频

我按照他说的做了,但是更新弹出对话框没有进入我的应用程序

第 1 步:我从 Playstore 应用程序设置测试模式
第 2 步:我在 inappsharing
上传版本代码 - 10 应用程序 第 3 步:分享链接并从链接下载应用程序
第 4 步:根据 android 视频屏幕截图,我上传了相同版本的新版本。
第 5 步:点击新生成的链接。
第 6 步:再次打开应用(但弹出对话框未打开,state= UPDATE_NOT_AVAILABLE)

【问题讨论】:

  • 我也有这个问题,但这是confirmed to be released
  • 但根据 2019 年 10 月的 Android 开发者峰会,他们这样做了

标签: android in-app-update internal-app-sharing


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    • 应用内更新仅适用于拥有该应用的用户帐户。因此,在使用该帐户测试应用内更新之前,请确保您使用的帐户至少从 Google Play 下载了您的应用一次。

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

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

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

      1. 确保完全关闭Google Play Store App.
      2. 打开 Google Play 商店应用并转到“我的应用和游戏”标签。
      3. 如果您正在测试的应用程序没有出现可用更新, check that you’ve properly set up your testing tracks.

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

    【讨论】:

    • 您是否已经解决了这个问题,或者只是从疑难解答中复制粘贴?我已经读过了。在我开始之前
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      查看此答案了解详情:https://stackoverflow.com/a/59266778/15139

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 2021-08-30
          • 1970-01-01
          • 2021-11-07
          • 1970-01-01
          • 2017-11-09
          • 2018-02-03
          • 2015-12-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多