当前位置:网站首页>华为应用已经调用了checkAppUpdate接口,为什么应用内不提示版本更新
华为应用已经调用了checkAppUpdate接口,为什么应用内不提示版本更新
2022-07-23 00:40:00 【华为开发者论坛】
问题描述
应用已上线,我再更新了华为游戏服务SDK之后,测试发现应用启动后不弹版本更新提示。但我确实按照官方指导文档要求,已经调用了checkAPPUpdate检测更新接口。
参考文档:游戏升级
问题分析和解决
我找到华为技术支持,对方让我先自行检查一下几点:
- 接口调用代码是否正确。
- 由于应用已上线,可以把更新包的版本号versionCode改小(比线上包的版本号小),看看本地安装更新包启动后是否会弹出版本更新提示——华为应用的升级逻辑是根据版本号来的,只要线上有新版本(版本号比本地的大),就会提示升级。
- 应用启动后,可以取全量日志看下,如果能搜到UpdateSDK version is:xxx信息日志,也能说明接口已经调用。
我对照上面三点都检查了下,确定接口调用了。
把日志发给华为技术,对方发现报错信息如下:
Updateinfo is not recommend, reason: Uninstall the old version before installation ,is same signature: 1这个报错说明我的游戏在不推荐更新列表里面,因为签名不一致。
这种情况,SDK不会提示更新,但是去应用市场会看到相关提示语。然后我打开应用市场搜索游戏,果然看到了:“更新包签名与旧版本不一致,需先从设备上完全卸载旧版本才可更新。可能导致程序数据或游戏存档丢失,是否继续卸载”。

但是我自己检查了下,确定签名没有更改过。
然后华为技术支持通过appid查询到我们游戏加入了华为的签名服务:
且当时勾选的是这个选项:
如果选择“让AG Connect 创建并管理我的应用签名密钥”,AGC会对应用生成一个新的签名密钥,并使用新的签名密钥对应用重签名。简单可以理解为,我自己出包的时候签名是A,使用这种方式的签名服务后,华为做了重签名,所以线上包的签名变为B,而签名B我是无法获取的,此时我本地出新包,用的还是签名A,这样新包和线上包签名就不一样了。所以就算checkAPPUpdate接口调用,且把versionCode改小了去测试,应用内不会提示版本更新,在应用市场里会提示签名不一致。只有当新包上线了,之前在应用市场上下载老包的玩家,才会在应用里被提示有版本更新。
如果选择“导出并上传密钥和证书”,AGC会使用CP上传的签名密钥对应用重签名,也就是说,这种方式下,只要我的新包是用我自己签名和上传密钥,就可以在新包上线前,本地测试应用内弹出版本更新框了。
在华为技术的分析说明下,我确认新包签名不变后,提交了审核。
PS:
上面两种华为“应用签名密钥”选项,一旦选择其一,不支持修改。
如果新包用的签名和之前老包的(我自己的)签名不一致的话,审核会提示签名不一致并驳回的。(而不是在应用市场里面提示啦)
签名服务一旦加入了,不能删除,不过可以重新创建一个应用。
边栏推荐
- In depth explanation of CAS is necessary for interview practice
- 「建议收藏」常用adb操作命令详解
- UGUI源码解析——MaskableGraphic
- XSS labs customs collection
- 疫情隔离区订餐系统的开发
- College students downloaded 2578 documents abnormally, and the IP of the University of Social Sciences of China was banned by a database
- 买reits基金一定赚钱吗 开户安全吗
- 触发器基础知识(下)
- 视频点播中相关分辨率说明
- DALSA智能相机BOA Spot与西门子S7-1200 Profinet通讯
猜你喜欢

There was an accident caused by MySQL misoperation, and "high availability" couldn't stand it

xss-labs 通关合集

Swin transformer object detection project installation tutorial

Detailed explanation of common ADB operation commands of "suggestions collection"

BGP federal experiment

【零基础玩转BLDC系列】基于霍尔传感器的无刷直流电机控制原理

322. 零钱兑换

No requirement document, reject development?

讲一讲HART协议

PMP备考心得 | 好的习惯、好的过程、好的结果
随机推荐
中金财富开户安全吗 股票怎么买
自定义类型详解:结构体,枚举,联合
50道经典计算机网络面试题,你答得上几个?(三)
UGUI源码解析——StencilMaterial
工作中遇到一个bug的解决过程
322. 零钱兑换
Sort out 55 MySQL interview questions (including answers)
ADB 命令结合 monkey 的简单使用,超详细
[concurrent programming] Chapter 2: go deep into the reentrantlock lock lock from the core source code
SQL Server 数据库设计--SELECT语句之二
SQL Server database design -- select statement
LiveQing直播点播流媒体OBS推流直播如何获得接口校验token视频校验streamToken及配置token有效期
阿里二面:Mysql的索引为什么用B+树而不是跳表?
BGP federal experiment
[openvx] VX for basic use of objects_ array
发生了一次 MySQL 误操作导致的事故,「高可用」都顶不住了
Canal realizes MySQL data synchronization
SQL Server database design -- select statement 2
PMP一手资料、一手资讯获取
没有需求文档,拒绝开发?