将测试应用程序引向市场URL后,没有Play Store更新



我正在我们的应用中测试版本检查功能。我们的Android客户端从服务器查询数据,这些数据返回我们将允许访问服务的最低客户端版本。运行较旧版本的用户被定向到Play商店进行更新。

如果用户已过时,我们使用诸如:

的代码将其引导到Play商店。
final String appPackageName = getPackageName();
try {
  startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
  startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}

从我们的应用程序中,过时的客户被直接访问市场://url。这将启动Play Store应用程序并为我们的应用程序加载目标页面。

为了测试此问题,我创建了该应用程序的特殊"过时"版本。在清单中,我将版本码设置为1,因此它低于我们在Play商店中的当前版本。我还设置了一个错误的低版本名称来触发我们的更新过程。

android:versionCode="1"   
android:versionName="1.0.1"

我构建了该应用程序的签名版本,使用ADB(不是通过Play Store)安装了它并对其进行了测试。

该版本检查触发器,我被定向到Play Store应用程序和我的应用程序页面。但是,Play商店页面为我提供了卸载>或 open 的操作。它没有给我更新应用程序的选项。

为什么不为我提供 update 按钮?这是因为我的应用程序最初不是通过Play Store安装的?有办法解决吗?

我相信您对最初未从商店安装的应用程序的猜测是正确的。我建议使用Google Play Beta计划。只要您的设备被注册为该特定应用的Beta测试仪,它将收到更新的选项(将3个小时以上的时间放在商店中)。

不幸的是,您需要上传两次。一旦获取要测试的功能,并且一次测试它有效。

这是这样说的,您正在使用应用程序显示的应用程序商店这一事实是证明您的代码有效的负担。其余部分是Google的问题。因此,您应该安全地确保您的代码正常工作,只要Play Store准备好更新人们,您就可以了。

我已将此功能实现为两个单独的应用程序,并且仅测试(在初始版本之前),该功能才能正确地将用户定向到App Store中。我通常等待24小时以上的时间来更新服务器上的最小版本,只是一个用户将旧版本缓存。

最新更新