Android出海攻略(一):Google Play 上架扫盲
由于某些 不(xin)可(zhi)描(du)述(ming) 的原因,缺少“武林盟主”的国内Android市场一直比较混乱,应用分发、应用质量管控、权限管控、隐私管控 等各方面都不被重视,也就导致流氓APP横行,虽说苦了用户,但对开发者来说,倒是一路绿灯,所以在国内做Android开发,重心都放在代码上,对于应用上架、运营、推广,投入精力甚少,甚至可以说后两者已经和开发人员彻底脱钩,某一天突然接触海外业务时,被突如其来的各方约束搞的一脸懵逼,每天满脑子都是一个问题 —— “这TM你也要管?”
近两年工作重心一直在海外业务,对于海外的 Google 霸权也是深有体会,被虐了一遍又一遍,写代码、实现功能 似乎成了最微不足道的压力,最近打算吧这两年的血泪史整理一下,写几篇扫盲文章,希望能给后来的小可爱们多填几个坑。
为什么要上架?
在国内,Android手机用户非常习惯和擅长通过各种途径找到apk的下载方式,而且乐于主动的去找到下载方式,甚至拿到新手机的第一件事就是打开允许安装未知来源应用,我们安装APP的途径通常是:
- 找到官网上的APP下载入口
- 在应用宝、豌豆荚、系统应用商店 等各种分发平台搜索下载
- 各种社交平台分享
这些操作对我们来说都是习以为常的,官网下载甚至成为部分用户的第一选择,但在海外市场,在Google 这个巨无霸的垄断下
Google Play Store 是绝大多数用户唯一信任和熟悉的应用分发平台
Android用户对Google Play Store的依赖和信任程度,比起 IOS用户的App Store 有过之无不及,这个理由可能还不足以说服所有人,但这仅仅是用户的主观选择而已,还有更多阻碍让你不上架就混不下去
你可能觉得如果我的App有足够吸引力,我就直接推广apk下载链接,不怕用户不去下载,但怕是没这么容易
1、Google Play 在海外作为手机的系统级应用,会默认开启 Play protect 功能,这就导致了在 Google Play 以外下载的apk文件,有一定的概率会被Google Play阻止安装,有时是告知用户危险,有时甚至什么提示都没有,只有一句 “应用未安装”
.
2、很多国家的用户,并不习惯打开 “允许安装未知来源应用” 这个功能
.
3、即使前面这些都忍了,大不了放弃这部分用户。那还有更高维度的打击,就是应用推广,市场上最优质的广告方,几乎都只接受投放Google Play 上架的APP链接,如Facebook、Google Ads 等,你拿着自己的apk下载链接去投放,就已经放弃了大部分的优质流量 (就只能用短信推推下载短链这样子…)
因为以上这层层阻碍,上架Google Play 几乎是出海APP的唯一出路,知道了为什么要上架,在说说怎么上架
上架要注意的代码问题
重点我会写出来,但还是有必要读一下 Google Play开发者政策: https://play.google.com/about/developer-content-policy/
–
在APP代码的处理上,Google Play 会对开发者上传的APP进行多次机器审核,即便已经上架成功,也会不时的复审,只要发现政策违规,轻则下架,重则封号… 通常最需要我们关注的审核内容包括:
1、apk的基本编译配置
- Android Api 版本
Google要求 targetApiVersion 支持到最新的2个版本(目前是要求 targetApi 29 以上) - ABI x64支持
如果用到so库, 必须支持x64,通常abiFilters 'armeabi-v7a', 'arm64-v8a'
即可 - 签名有效期
生成签名的时候需要注意有效期要在25年以上 - App包名唯一
上传到Google Play的APP,packageName必须是没有存在过的
验证包名是否已存在的方法:
拼接一个Google Play 详情页链接,能打开则代表包名已存在
.
https://play.google.com/store/apps/details?id=包名
已存在的包名链接示例:https://play.google.com/store/apps/details?id=com.twitter.android
不存在的包名链接示例:https://play.google.com/store/apps/details?id=com.twitter.android.test.new.pkg
2、恶意代码检测
- 权限 : 需合理使用权限,敏感权限可能导致上架被拒
- 协议通讯安全:API 需使用https,保护用户的数据安全
- 马甲包:同一套代码重复上架,会被视为马甲包被封号(有这种需求需要做深度的代码混淆)
- 内更新:APP不可有内更新、热修复、跳转三方下载链接等任何动态更改源码的行为(脱离Google审核的动态代码都不被接受),更新APP唯一途径是在Google Play 发布新版本
- 使用隐私数据需披露:这个更多是靠人工审核,运气不好被查到会被下架
- 色情、暴力、赌博 这些元素内容就不用多说了,可以看开发者政策
权限使用 特别说明
在权限使用方面,通常是国内开发者最不习惯的,Google对的隐私权限要求极为严格,权限使用不当会直接导致被拒绝上架,甚至线下安装apk都可能被Play Protect拦截,权限敏感程度一般分为几个等级:
A级敏感权限,需要提交权限申请表单,才可能被允许上架
通话记录权限组:READ_CALL_LOG、WRITE_CALL_LOG、PROCESS_OUTGOING_CALLS
短信记录权限组:READ_SMS、SEND_SMS、WRITE_SMS、RECEIVE_SMS、RECEIVE_WAP_PUSH、RECEIVE_MMS
~
短信和通话记录是敏感度最高的权限,如果Manifest中有添加这些权限,在Google Play中上传apk时会触发权限使用申请表单,需要提交相关资料,阐述APP需要这些权限的原因,并提供对相关隐私数据使用是否合法的证明(由于不同国家的政策力度不同,权限申请表单的通过率也不同,比如印度、墨西哥 对SMS_LOG 就管理相对放松)
~
~
B级敏感权限,需要为用户提供隐私协议
通讯录权限:READ_CONTACTS、WRITE_CONTACTS
定位权限:ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION、ACCESS_BACKGROUND_LOCATION
相机权限:CAMERA
SD卡权限:READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE
设备信息权限:READ_PHONE_STATE
~
如果Manifest 添加有以上权限,则在Google Play上架APP时,需要提供隐私协议url,同时也要在APP中向用户展示,并征得同意,在隐私协议中需详细列出APP使用了哪些权限、收集上传了哪些数据、收集这些数据的目的用途、以及承诺和阐述 如何保证用户的数据安全
如何上架
1、准备Google Play开发者账号
对于不需要大量上架的普通开发者来说,注册账号很简单,用gmail登录Google Play Console,准备一张支持美元的卡(国内有的双币卡付不成功,招行、工行一般都可以),支付25美元即可永久开通开发者账号
Google Play Console: https://play.google.com/console
如果需要上架多个APP,可以考虑购买现成的开发者账号:http://www.mugglemail.xyz/
2、准备上架材料
- APP名字(支持多语言)
- 简短标题(支持多语言)
- 详细描述(支持多语言,如果后期涉及推广,需要加上客服电话、邮箱、和详细地址)
- logo 尺寸512x512
- 主页截图2张以上(也可以用youtube视频)
- 置顶宣传图 尺寸1024x500
- 隐私协议url,用到上述敏感权限的话,需要准备隐私协议
- apk文件 注意上面提到的编译配置
3、发布应用
1) 打开Google Play Console , 创建一个APP
无需多讲,根据 Title 填充文本即可
2) 按指引完成所有资料填写
3) 填写隐私协议url(如果需要)
4) 选择发布国家
5) 创建release版本(Google Play可以先提交测试版本,然后发布到beta,最后到release),像我这样不需要再测试的,这里就直接创建release版本了
6) 选择是否使用Google 二次签名(最终用户下载的APP是Google生成的签名,你的签名只用来更新Google Play版本)
7) 接下来上传apk,填写此版本功能介绍,然后无脑下一步就可以了
发布之后,会有一周左右的审核,不同时期审核时间也不一样,比如疫情期间审核一个月都正常,而两年前审核不严格的时候,只需要10分钟就能上线…
~
~
8) 审核结果
上线成功之后,Console中的审核状态会消失,Dash board 会有跳转到APP安装页面的链接
或者如文章开头说的,手动拼出来也可以:https://play.google.com/store/apps/details?id=包名
如果上线失败,可以查看注册账号时填的邮箱地址,会有被拒绝的详细原因,上线失败大概分几种:
被拒绝(Rejected)
邮件中会给出修改建议,通常是资料不完整或隐私协议不适用,进入Console 修改相应内容后,点击提交即可触发新的审核,然后再等审核结果被停用 (Suspend)
邮件中会说明被停用的原因,通常是APP包含违规内容,APP的包名会被永久禁用,想再上架只能换个包名,创建新的APP提交版本,如果多次被Suspend,可能导致封号被封号 (Terminated)
邮件只通知封号,封号理由都是模糊的模板回复,不会告诉你他们抓到的真正把柄,封号原因有很多种,如:
1、账号提交了多个违规APP,频繁被Suspend
2、代码关联,即提交的APP被判定为马甲包,你的 代码/服务器地址可能多次使用、多次被封号,已经被标记
3、账号关联,你使用的账号,涉嫌和其他已经被封的账号,归属于同一开发者,可能是由于支付卡、支付开发者费用时的设备/网络环境、gmail注册时的设备/网络环境 等产生关联,被认为你注册账号就是目的不纯
~
换个说法就是 — Google: “小样,我知道是你,你以为换个马甲我就不认识你了? 再被我发现你注册新号,我还封你!”
Android出海攻略(一):Google Play 上架扫盲相关推荐
- Android学习攻略:手把手教你循序渐进地学习Android知识
前言 如果你也学习Android,那么你大概率会看过我的文章.经常有读者给我留言:"该怎么学习Android?"."日常学习Android的方法是什么". 所以 ...
- android游戏手柄,没手柄也不怕 键盘玩Android游戏攻略
越来越多的朋友开始在手机等移动设备上享受游戏的乐趣,可不得不说用手指在触屏上玩游戏总有那么点不爽,于是乎,有玩家开始琢磨手机游戏新的玩法,为手机配上手柄(如下图),这其中既有专用的,也有将其他游戏平台 ...
- android游戏攻略,安卓手机游戏攻略
攻略 独奏骑士70层如何通关 在独奏骑士中有很多的特色玩法,其中一个就是爬塔玩法,在这里有多个关卡,70层就是其中一关,也是比较复杂的一关,下面就跟着小编一起来看看70层通关方法吧!独奏骑士70层通 ...
- Android 升级/刷机攻略(Google原生系统Pixel)
由于Google在五月份的I/O大会上新发布了Android P 9.0系统,公司需要测试APP在9.0上的兼容,因此拿到Pixel升级系统. 因为考虑到刷机开发版后无法再检测到更新,所以就还是尽量升 ...
- 大厂app出海攻略|一个方法让app推广变现能力双效提升
中国APP出海之路,早已从满足用户功能及市场需求,转变为兼顾用户市场.政治因素.法律政策等的多维度考量,充满挑战.APP出海尚且如此艰难,想要进一步变现更不必说. 本篇的初衷不是来营造焦虑的,而是传递 ...
- Android面试攻略
文章背景 在外界看来IT是一个"高薪"的行业,都羡慕不已,熟不知IT也是一个苦逼的行业,每天加班加点,时刻用生命在写代码啊,导致许多程序猿和程序媛们都找不到对象,好不容易有个家庭的 ...
- WM平台玩转Android全攻略
Android系统目前大行其道,flowermix也把玩过一段时间的G2,被Android系统的开放性和丰富的软件所吸引(我是重度测试控╮( ̄▽ ̄")╭ ). 相信大家早就看到过很多关于Wi ...
- flutter开发工具,2020年最全Android面试攻略
摘要 开篇之前,首先说一下,大神就别点进来了.小编只是尘世间一个迷途小开发,二流程序员. 这篇文章并不像其他面经一样金光闪闪,只是一个二流Android攻城狮在市场的大潮之下,用一个月时间面试+复习+ ...
- 哈佛商业评论:中国互联网公司“出海”攻略 -TOP Network CMO Noah评论
原文发布于<哈佛商业评论>:http://www.hbrchina.org/2019-04-04/7212.html 自从移动互联网时代来临,中国科技创业公司一直在积极探索国际市场.早期阶 ...
最新文章
- Python中输出字体的颜色设置
- 史丹利对话中国农民丰收节交易会-万祥军:谋定跨国合作
- jq checked 设置问题
- 用ado.net生成对应的sql语句
- MMOCR: OpenMMLab 全流程的文字检测识别理解工具箱
- Guava学习笔记:EventBus(转)
- ios 重复引用 静态库_iOS项目引用静态库文件.a
- linux 设置端口常用命令
- 关于信息熵的简单理解
- 1个开发如何撑起一个过亿用户的小程序
- python数据可视化仪表盘,Python 数据可视化?
- C语言入门(20)——使用VC2013对C语言进行调试
- 高频电子线路实验箱QY-JXSY25
- 如何在微信小程序中使用echarts绘制地图(微信小程序制作疫情数据地图)
- Educational Codeforces Round 91 (Rated for Div. 2) D. Berserk And Fireball
- iOS软件工程师面试 自我介绍
- 【信息】三方协议签订相关问题及解答
- 和平精英显示模拟服务器已满,和平精英模拟器注册已经达到了上限怎么办?原因及解决方法分享...
- node如何安装指定版本(最详细教程)
- 惠普 ProBook 笔记本下的 WIN10 解决 VMware 开启Intel VT-x问题
热门文章
- 【朝花夕拾】Android自定义View篇之(六)Android事件分发机制(中)从源码分析事件分发机制...
- 如何开始做一个开源项目?他的亲身经历值得参考
- #19ACM第一次招新补题赛de题解呐#
- ACM POJ 题目分类(完整整理版本)
- 南京计算机与软件学院,南京信息工程大学 计算机与软件学院 刘 琦
- jsp22216美食菜谱食谱网站系统mysql
- 简书markdown
- 一文速学-Pandas处理时间序列数据操作详解
- 蕉爷的深知精读会(2022年最新整理分享)
- 有些朋友没看清楚,我在这里再特意强调一下