Android应用程序内更新API返回0作为可用版本;updateAvailability为1(更新\u不可用)

Android应用程序内更新API返回0作为可用版本;updateAvailability为1(更新\u不可用),android,google-play,google-play-services,google-play-developer-api,android-app-bundle,Android,Google Play,Google Play Services,Google Play Developer Api,Android App Bundle,我正在尝试实现应用程序内更新API,然后在调试版本低于play store版本的应用程序时,AppUpdateInforeturnavailableVersionCodeas0和updateAvailabilityas1(更新不可用), 注意:我使用了相同的包名和相同的签名密钥来运行构建 提前谢谢 我也遇到了同样的问题,我解决了。您应该检查传递给创建AppUpdateManager的上下文类型。在创建AppUpdateManager时,似乎需要传递全局应用程序上下文 因此,如果您只是传递“thi

我正在尝试实现应用程序内更新API,然后在调试版本低于play store版本的应用程序时,
AppUpdateInfo
return
availableVersionCode
as
0
updateAvailability
as
1(更新不可用)
, 注意:我使用了相同的包名和相同的签名密钥来运行构建


提前谢谢

我也遇到了同样的问题,我解决了。您应该检查传递给创建AppUpdateManager的上下文类型。在创建AppUpdateManager时,似乎需要传递全局应用程序上下文

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


根据文档,上下文是应用程序的应用程序上下文


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

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

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

是的,请在此处查看故障排除部分的最后一项: 要刷新缓存,您需要:关闭播放存储;重新打开它;导航到“我的应用程序和游戏”应用程序

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


否:您的用户可以等待后台作业运行。

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

Hi!我已经研究过这个播放功能,我相信无论您是使用ApplicationContext还是这里的活动,都应该是无关紧要的。我想了解更多关于切换到应用程序上下文是否真的解决了您的问题(令人惊讶),或者是否可能通过等待足够长的时间,我的解决方案启动了。哦,抱歉,但切换上下文实际上解决了我的问题。我有一个应用程序,在几周前我测试这段代码的时候已经更新了。如果你的评论是对的,那就很奇怪了。我再次检查了我的代码,发现如果我只是用“this”引用应用程序上下文,我传递了一个错误的参数。总之,我的解决方案确实有效,但这不是因为AppUpdateManager需要全局应用程序上下文,而是因为我刚刚向API传递了错误的参数。@Katherine_lee,但API只接受上下文。如果仅有的两个可编译选项是“活动”或“应用程序上下文”,你怎么可能传递错误的参数?根据文档,它应该是“应用程序上下文”你找到了解决此问题的方法吗?是的,我刚刚将apk上传到play store中的beta版应用程序,并与我的设备一起检查了较低版本的发布apk。您能告诉我们它是否也适用于内部测试跟踪发布吗?我的意思是,可用的版本代码将从内部测试跟踪发布中选取,还是仅从发布的公共版本中获取值?如果您的帐户选择了内部测试程序,它将能够更新到上传到内部测试轨道的版本。我在这里问了一个问题,你能帮我们吗?
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(getApplicationContext());