说在前面
包名(Package name)是应用识别的唯一标志,通常用小写字母com.xxxxx.xxxx的形式。包名主要用于系统识别应用,一个包名即代表一个应用,应用商店不允许应用使用相同的包名。因此开发者在设计应用包名时,都会避免设计与其他应用的包名重复和冲突的包名。
选用的包名,为什么还需要更换呢?
这是因为应用上线变现及投放过程中可能会遇到应用相关的问题而出现停滞,这时就会考虑通过更换包名来实现“app分身”,进而帮助解决这类应用问题。
想要实现“分身术”,除了直接在AndroidManifest.xml文件中修改“包名”与“provider”,还需要对上架、变现侧、投放侧问题进行“改头换面”。也就是说一旦确定更换包名,围绕配置层面等的一系列问题都需要同步更换,以帮助实现“重生”。
那么,进行包名更换具体可帮助解决哪些问题? 使用包名更换的场景有哪些?有哪些配置层面的参数和安卓包名挂钩?又要如何详细展开包名更换的一系列动作呢?
下面我将围绕包名更换“分身术”,详细揭开以上问题的面纱。
更换包名使用场景
更换包名可帮助解决哪些问题呢?
举个例子:应用的开发团队变更、广告投放遇到应用审核不通过问题、应用被商店下架、Google Play应用转移发布账号、AdMob等广告平台变现账号被封、想要更加便捷用户查找应用等。
围绕和“应用审核”、“应用迁移”、“应用绑定”、”应用查找”等,更换包名可帮助化解这类应用问题。其中有一种比较特殊且相对严重的情形是:
应用A:因严重违反应用商店政策导致下架,申诉无效,并且开发者发布账号被封禁,应用商店不允许应用再上架的情形。
这种情况如果仅依靠更换包名和配置进行“重生”的话,很容易被应用商店识别导致再次封禁。对于这种情况,除了包名更换,还需要进行代码混淆、新旧账号信息隔离、游戏资源加密、接口名更换等等更改来争取”重生”。
诚然选择更换包名是一个相对麻烦的过程,但遇到和应用相关这类问题的困境,且较长时间处在停滞状态,更换包名进行”分身”不失为解决以上问题的妙方。
SDK与配置变更
有哪些配置层面的参数和包名挂钩? 要如何详细地展开包名更换的一系列动作?
包名更换对各广告平台、应用商店、广告投放平台等平台来说都发生了变化,连带着在多个方面的配置都会发生变化,下面我将从各SDK与配置层面,详细分析各配置需要变更的参数及内容。
01、广告SDK层面
从广告SDK上讲,更换包名后其实等于在所有平台上线配置一款“新应用”,所以对所有已接入的广告平台都需新建应用并重新进行参数配置,我将需要重新更改的配置总结为如下步骤:
步骤一:进行新SDK 参数更换——新的参数包括新AdMob的App ID、新建插屏广告格式ID、激励广告格式ID、手动请求的Banner ID。
AdMob的App ID获取
插屏&激励广告Unit ID获取
步骤二:参数在配置上更换和回填——新建对应广告格式下的各广告单元、回填新的广告单元ID并搭建新的Waterfall & Bidding层级
步骤三:回填新包的应用商店链接验证并提交审核
注
1. 在SDK集成方面,原广告平台SDK如已集成,可不做修改,若有新需求可继续添加新的SDK;
2. 如有些参数和账号关联,更改包名后应用仍使用同一账号进行变现,则不用更换(同一聚合的SDK key、app-ads.txt文件等)。
02、其他SDK层面
Appsflyer SDK:新建应用并更换AppsFlyer dev key参数,埋点方案可与旧版本一致不变,如果有新需求可同步修改;
Facebook投放SDK:新建developer开发者应用并更换新Facebook Dev App ID参数、新Facebook Client Token参数;
Facebook Dev App ID
Facebook Client Token
Firebase SDK:新建应用并更换新SHA-1、新SHA-256参数,埋点方案可与旧版本一致不变,若有新需求可修改。
应用商店设置变更
在包名更换后,修改包名的应用对应用商店来说也相当于一个新的APP,那么围绕新应用展开的新的图标、新的游戏描述介绍等相应的商店页等展示内容都需要进行重新设置。
步骤一:更换商店页内容——包括更换新应用名、新icon、图片内所有应用名称、短描述和长描述(新ICON需提供给技术)
步骤二:重新进行Google Play内购配置——新包在Google Play后台创建新应用并配置内购商品id(可和原包相同)
步骤三:应用上架与内容评级——重新上架应用并下架原包名应用,上架过程中需重新进行内容评级(应用分级)。
官网与社媒
在商店页游戏信息更换后,与游戏宣传相关的媒介如官网,Facebook粉丝页、Discord社区页等等和游戏相关的信息也需同步进行信息更替:
1️⃣官网需同步更换:游戏名称、游戏ICON、游戏图片、下载链接。
2️⃣Facebook粉丝页需更换:游戏名称、游戏ICON、置顶背景图、游戏图片、下载链接。
3️⃣其他社媒信息更换:TikTok、Discord、YouTube等账号游戏信息修改。
应用官网
Facebook粉丝页
广告投放与推广准备
由于应用重新上架,游戏ICON、游戏应用商店链接等变更,广告投放也需针对新包准备新广告投放账户和新广告素材,如新的Facebook投放账户、新的Google Adsense账户等。广告素材中的游戏名称、游戏ICON也需要同步更换。
更换包名的注意事项
包名一般不选择随意更改,因为一旦修改了包名,就会被各平台当作一个新的应用,且旧应用无法再进行升级。同时,包名更换后准备上架时,旧应用也需下架,否则会因两个应用内容相似而上架被拒!
旧应用下架同时也意味着原应用已有的用户也会被“放弃”,对原来的应用知悉的用户也无法通过原游戏名称和原关键词查找到该应用,所以需做好综合评估再进行包名更换。
Google Play对包名相关的要求和使用场景
1. Google Play要求应用软件包名称彼此不能重复,且一旦指定就不能更改,所以在进行命名时请务必谨慎,日后无法删除或重复使用软件包名称。
2. Google Play更新新版本包体时,更新版 Android App Bundle 的软件包名称必须与当前版本相同。
3. 应用未加入 Google Play 应用签名计划,如果密钥库丢失,必须使用新的软件包名称和密钥才能发布新应用。
4. 包名与内部测试链接的关联,在Google Play中内部测试链接后缀即为应用的软件包名,内部测试链接示例:https://play.google.com/apps/testing/<应用或游戏的软件包名称>
写在最后
包名更换可帮助解决应用审核遇困等问题,在配置层面相当于分身出一个“新应用”,所有的配置及信息都得从新应用的视角重新进行准备和更换,需更换的配置和信息较多,所以在实际更换中需将信息考虑齐全。
同时,包名更换也会带来一些弊端,如旧应用无法升级,旧用户流失等,需做好包名更换的利弊评估后再进行包名更换。Google Play等应用商店对包名都有一些要求与应用场景,我们需在了解各应用商店对包名的要求的基础上进行应用。
本文也只是总结了我个人工作中遇到更换包名所需更换的参数及内容,希望上面梳理的包名“分身”内容,可以帮助到大家。对应用包名还有其他经验、想法的朋友,欢迎大家积极留言和我们讨论。

