谷歌商店应用管理注意事项

wuchangjian2021-11-14 21:07:58编程学习

谷歌商店应用管理注意事项

来自日常应用管理经验,仅做记录。如果能帮助同行,不胜荣幸。

因第三方包被下架

因使用第三方库导致应用被下架,主要因为不符合Google Play(下文称GP)政策规范。目前遇到两个第三方库有这个问题。

如果真的被下架,理论上是不允许再次上架的。但是根据经验,是可以提出申请的(我们的应用因为Tinker被下架,就是申请回来的)。大概包括:承认自己的疏忽导致违背GP的规范、用户量多,不想影响用户继续使用,希望可以给机会整改问题并恢复应用。

  1. Tinker,这个Tinker提供的有对应的GP包,用对应的包即可。不过最好能直接移除掉,GP不允许使用热修复相关技术。
  2. 极光SDK,不要使用官网的SDK,不然必被封。可以使用GP专用的SDK。在这里下载:https://search.maven.org/search?q=g:cn.jiguang.sdk

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3BiJkSeG-1636894436585)(https://note.youdao.com/yws/res/3962/026AE88A499D4651A13EEE5802B142BB)]

关于Play App Signing

默认创建一个应用,谷歌自动帮我们签名。这导致一个问题,假如你有多个渠道,比如官网。你肯定是自己创建的签名。这个时候如果用户在GP下载了我们的应用,如果再在官网下载新版本想更新,就会报错。因为签名不一致。

所以如果有多渠道包,一般我们都是有自己的一套签名,保持多平台一致。

如何在GP上用自己的签名(只有一次机会,谨慎操作):应用主页-设置-应用完整性-请求升级秘钥-我需要针对多个应用或此应用的预安装版本使用同一密钥-上传新的应用签名密钥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CuWX3Cg-1636894436587)(https://note.youdao.com/yws/res/3996/79266EB38D1B4E71BE037DFC22440472)]

生成output.zip:

``
java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --signing-keystore=uploadkey.keystore --signing-key-alias=upload-key-alias --encryptionkey=eb10fe8xxxxxb00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

``

参数解释:看到注释可能有疑问,但是确实是这样的,一点一点试出来的。当时有踩坑:
``
java -jar pepk.jar --keystore=签名文件所在的路径 --alias=别名 --output=output.zip --signing-keystore=签名文件所在的路径 --signing-key-alias=别名 --encryptionkey=gp给你什么就填什么

``

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2sRnyZPH-1636894436588)(https://note.youdao.com/yws/res/4013/6E1AF31A358549A09878F71610BB99B6)]

注意升级签名后有以下问题,都是试出来的(辛酸泪)。假设官网包为自己的签名文件签名的包,GP原来是默认签名,GP升级签名后和官网保持一致:

  1. 对于谷歌商店未更新用户、已更新用户,如果再次从官方下载安装包安装,会安装失败。引导用户卸载老版本安装新版本即可。
  2. 新用户从GP下载的包,签名就是自己的签名,不存在安装失败问题。
  3. 其他情况,官网渠道、谷歌渠道均可正常合并为一个app。

新政策仅支持app bundle(.aab)上传,不再支持.apk上传

  1. 打包时选择Android App Bundle即可(Build-Generate Signed Bundle or APK-Android App Bundle)。
  2. 一些第三方打包插件就用不了了,比如美团的Walle(https://github.com/Meituan-Dianping/walle)。
  3. 特别注意如果你的应用适配多语言且允许用户手动选择语言的,要在buid.gradle的android配置如下内容,不然切换语言会无反应(bundle默认仅仅保留用户默认语言):
bundle {
        language {
            enableSplit = false
        }
    }
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Tgkfreo-1636894436589)(https://note.youdao.com/yws/res/4021/1D36C965953045BCB30DAB3F95D8F626)]

相关文章

长江多处水位创新低,现“汛期反枯”现象

长江多处水位创新低,现“汛期反枯”现象

2022-08-16 09:12:48 8月15日,长江多处水位为有水...

影响RAID 0性能的因素

影响RAID 0性能的因素

温故:         在上一篇文章《如何在实际的运维中合理的选择RAID的级别》和大...

清华毕业“70后”李文飙,跨省履新

清华毕业“70后”李文飙,跨省履新

2022-08-10 22:37:47 江苏辽宁对口合作,再有关键岗位...

python自动化测试学习笔记-5常用模块

python自动化测试学习笔记-5常用模块

python自动化测试学习笔记-4常用模块 常用模块 1、os  2、sys ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。