3

我有一个在 Play 商店上发布的 android 应用程序。我正在尝试在 App 更新中实现并使用 android 内部轨道共享对其进行测试。

为了在内部轨道上分享,我尝试关注,一切都给了我相同的结果。1. 创建 Apk。使用应用程序的发布密钥签名 2. 创建 aap 包。使用应用程序的发布密钥签名 3. 创建 Apk 。在不签名的情况下将其保持在调试模式 4. 创建了 aap 包。将其保持在调试模式而不签名。

在上述所有场景中,在将应用程序上传到内部测试轨道并从 url 下载后,会发现遵循一致的行为。

  1. appUpdateInfoTask.addOnSuccessListener 在应用程序启动时被调用
  2. appUpdateInfo.availableVersionCode() 返回内部测试轨道应用程序的版本代码,而不是生产中可用的更新。
  3. appUpdateInfo.updateAvailability() 返回更新不可用。

在 logcat 中,我们得到以下兴趣点日志。

(应用程序包名称)已安装但证书不匹配。

我的应用程序更新代码如下。

    private void checkforappupdate() {

        Log.v("oneteamlive",".........checking for application update....");
        // Creates instance of the manager.
        AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);

        // Returns an intent object that you use to check for an update.
        Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

// Checks that the platform will allow the specified type of update.s
        appUpdateInfoTask.addOnSuccessListener(
                appUpdateInfo -> {
                    Log.v("oneteamlive","in app update info listenere");
                    Log.v("oneteamlive","Available version code is:"+appUpdateInfo.availableVersionCode());
                    Log.v("oneteamlive","Available version code is:"+appUpdateInfo.updateAvailability());
            if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)
                     {
                // Request the update.
                         Log.v("oneteamlive","A new update is available");
                         Toast.makeText(this,"A new update is available",Toast.LENGTH_LONG).show();
            }
            else
            {
                Log.v("oneteamlive","no app update is available");
            }
        });
    }

我仔细检查了我的 Playstore 是否已完全关闭,并且 Playstore 上可以使用更高版本的代码进行更新。

还有其他人也遇到过类似的问题吗??

4

2 回答 2

0

我也有同样的问题,但有 InApp 评论。以下是我得到的错误:

07-09 10:36:19.834  8532 11374 I Finsky  : [27174] fki.<init>(18): com.marcetown.myapp is installed but certificate mismatch
07-09 10:36:19.962  8532 11214 E Volley  : [27115] doi.a: Unexpected response code 404 for https://play-fe.googleapis.com/fdfe/allowInAppReview?doc=com.marcetown.myapp

我觉得这是我的问题。我没有这样做: 在此处输入图像描述

我在 Sinapse 发送的链接上找到了这个。我会尝试用我的结果更新我的评论。谢谢你 Sinapse,至少你给了我一个可以看的地方。

@Edit 我的问题是我使用的是内部测试而不是内部应用程序共享https://play.google.com/console/u/0/internal-app-sharing/ 可能与您不同,但我会检查我附上的证书图像,并确保您正确设置了它。

于 2021-07-12T16:40:18.083 回答
0

我有完全相同的问题,我想知道这是否是由于内部测试轨道的应用程序被谷歌辞职。显然,内部共享的应用程序正在根据:https ://support.google.com/googleplay/android-developer/answer/9844679?hl=en&visit_id=637491136221021613-3110759148&rd= 1 但对于内部测试轨道,当我下载应用程序时,我可以看到公共证书与我在上传到 google play 商店之前创建的 apk 完全匹配。

于 2021-02-17T00:00:31.557 回答