Google Play的应用升级受制的一种解决方案


Google Play发布应用后只允许通过Google Play升级应用,想同时通过本地服务器进行App升级,怎么办?

Google Play下载的应用是不支持应用本地进行升级的,要想规避Google Play的这个规则怎么办?

在应用初次发布到Google Play时,审核会比较严格,会对初次上传的App检测自带升级等功能,因此,初次发布App到Google Play时务必关闭本地升级服务,审核通过,发布成功,再打开就不影响了,再次更新发布版本时,审核会相对送些,但为了确保审核通过更新发布成功,建议发布成功再打开升级服务。

应用在发布前需要签名,之后在Google Play发布应用时不使用google的再签名,这样就能保证两种途径升级应用签名一致。做个假设,我从Google play下载了App的V1.0.0版本,之后在App使用时通过本地升级到V1.0.1,这样再进入Google Play搜索本应用,显示为未安装,猜测Google Play上下载安装的应用会打上Google的标签,而本地升级后的App没有带Google的标签,所以Google Play认定为该应用未安装。

这说明但凡通过本地升级Google Play下载的应用之后,就和Google Play升级应用分道扬镳了,就只能通过本地升级了。随着App版本的不断升级,用户但凡通过本地升级,就回不到Google Play升级应用的路线上了,这并不是个好的情况。

为什么这么说呢?

用户脱离Google Play之后,Google Play自带的区域、语言、Android系统等统计资料就用不了了,而且也影响了App在Google Play中的下载量排名、影响度等。

有什么两全其美的解决办法吗?

既不影响Google Play原有用户量,也能兼容本地升级和Google Play升级。

有一个比较合理的方案:应用在发布前自己进行签名,发布到Google Play上的应用使用google的再签名,就是在我们自己签名apk的基础上再打一层签名,其实这一层签名打完之后,就和我们自己打包签名的Apk不一样了,签名不一致。这样我们在自己的App中存一份自己的签名文件和一份Google Play为本App生成的签名文件,在App进行本地升级时就可以通过判断本Apk签名和哪个签名文件一致来确定Apk的来源。

如果本Apk签名和Google Play为本App生成的签名文件一致,说明本APk来源为Google Play下载或更新的,那么当本地升级检测到服务器有更高版本的Apk,则弹出对话框提示用户有新版本,用户点击“确认”后,跳转到Google Play进行升级。

如果本Apk签名和自己的签名文件一致,说明本APk来源为本地下载或更新的,那么当本地升级检测到服务器有更高版本的Apk,则弹出对话框提示用户有新版本,用户点击“确认”后,直接在本App中请求服务器进行下载升级。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,393评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,958评论 2 59
  • 每天聆听‘安全在线两分钟’时刻感觉到安全责任的重大,王姐每天的坚守和执着是对安全工作的一份诚挚的热...
    牧羊海阅读 303评论 0 0
  • 今日体验:今天维修一辆宝马五系维修下来需要一万多,但是客户还是修了,核心:信任,总结:我们维修后的信任所以会继续相信。
    房傲东阅读 132评论 0 0
  • 阳山坪故亲戚废屋 二十年前三口家,菜根粗饭事桑麻。 而今都付无常主,惆怅坟头长蕨芽。 李市镇老街 石桥古树水潺湲,...
    李野航阅读 421评论 0 2