![](/img/trans.png)
[英]Google Play - In App Update is installed but it shows update available again and again
[英]Play Core in app update giving UPDATE_NOT_AVAILABLE on production release
我已经集成了游戏核心应用程序内更新,它在测试轨道中运行良好,但是当在生产轨道中发布版本时,它总是给出 UPDATE_NOT_AVAILABLE 标志。 我认为问题可能是因为启用了 Timed Publishing/Publishing Overview。 我必须从游戏控制台本身更改任何修复程序或任何设置吗? 或者我必须在我的 android 结束时实施一些东西吗? 这是实现的代码-
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnCompleteListener(listener -> {
if (listener.isSuccessful()) {
Log.d(TAG, "Update Available " + (listener.getResult().updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)); // returns false
Log.d(TAG, "Update Allowed" + listener.getResult().isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)); // returns false
Log.d(TAG, "Update Availibility" + listener.getResult().updateAvailability()); // returns 1 that is UPDATE_NOT_AVAILABLE
if (listener.getResult().updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& listener.getResult().isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
try {
appUpdateManager.startUpdateFlowForResult(
listener.getResult(),
AppUpdateType.IMMEDIATE,
activity,
1001);
} catch (IntentSender.SendIntentException e) {
Log.e(TAG, "showPopup: ", e);
dialog.show();
}
} else {
Log.d(TAG, "no update: " + listener.getResult());
dialog.show();
}
} else {
Log.e(TAG, "no update: ", listener.getException());
}
});
昨天我遇到了类似的问题,在我绝望的时候,我把应该是关于有类似问题的评论作为答案...... @Natty向我展示了我的方式错误,我感觉很糟糕,所以确保我会返回一个更好的实际答案:
我发现可能的罪魁祸首是google play app signing 。 看起来他们在 2021 年 8 月进行了更改,因此默认设置是允许谷歌管理应用程序签名,这意味着您的应用程序在每个版本中都使用不同的密钥进行签名,因此您的版本具有不同的签名,并且不会找到更新。 例外情况是内部应用程序共享。
可悲的是,似乎没有办法选择退出
您无法在激活后禁用 App Signing,如下图所示:
情况变得更糟......因为你知道谷歌......你也不能删除你的应用程序,你唯一能做的就是
我什至回去仔细检查了我的情况,通过检查应用程序的旧版本和内部测试轨道上的新版本。 事实上,使用相同应用签名密钥库的新版本适用于应用内更新,但使用谷歌应用签名的旧版本则不行。
请记住,一个全新的应用程序必须通过审核过程 go,新应用程序可能需要 1-3 天(完成初始审核后似乎要快得多)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.