Android应用内更新API返回0(可用版本号)和updateAvailability(返回1)(UPDATE_NOT_AVAILABLE)

时间:2019-05-22 09:29:56

标签: android google-play google-play-services google-play-developer-api android-app-bundle

我正在尝试实现应用内更新API,紧跟in-app-update-api,在调试版本低于Play商店版本的应用时,AppUpdateInfo返回availableVersionCode为{{1 }}和0作为updateAvailability, 注意:我使用相同的包名称和相同的签名密钥来运行构建

谢谢!

3 个答案:

答案 0 :(得分:1)

我也遇到了完全相同的问题,我解决了。您应该检查要传递哪种上下文来创建 AppUpdateManager 。似乎在创建AppUpdateManager时需要 传递全局应用上下文

因此,如果您只是传递“ this”或其他活动上下文,请将其更改为“ Global App Context”。

来自

AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);

AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(getApplicationContext());

答案 1 :(得分:0)

最可能的原因是您设备上的Play商店尚未了解新更新。

在Play开发者控制台中发布更新后,有关此更新的信息不会立即到达所有设备;设备上的一些Play商店后台作业负责定期检查已安装应用的更新并刷新设备上缓存的信息。

“但是我现在想测试设备上的行为,我不想等待后台作业完成才能测试。我可以强制刷新此缓存吗?”

是的,在这里查看“故障排除”部分的最后一项:https://developer.android.com/guide/app-bundle/in-app-updates#troubleshoot 要刷新缓存,您需要:关闭Play商店;重新打开它;导航到“我的应用和游戏”应用。

“我的用户也需要这样做吗?”

否:您的用户只能等待后台作业运行。

答案 2 :(得分:0)

至少您应该从Play商店下载该应用。这是因为设备必须知道有关该应用程序的确切信息。