ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

做了半年鸿蒙元服务,我终于搞懂“新生态”到底新在哪了

做了半年鸿蒙元服务,我终于搞懂“新生态”到底新在哪了 您好我是ID: 熊猫钓鱼十余年深耕技术一线我始终相信优秀的开发如同垂钓——既要对技术生态的「水域」有深邃理解也要对问题本质的「鱼汛」保持敏锐直觉。从架构设计到性能调优从技术选型到团队协作我专注在恰当的时机用最合适的技术钓起最优雅的解决方案。关注我我带你一起研究最新又好玩的热点技术~上个月我妈给我打电话说楼下公交卡充值点撤了她不会在手机上交钱急着出门坐公交。我远程指导她“你把手机背面贴一下充值机上那个鸿蒙标就行。”她半信半疑贴上去锁屏界面直接弹出来公交卡充值的卡片输了50块钱指纹一按就付完了前后没花10秒。她后来跟我说“这个比你上次给我装的那个公交APP好用不用点进去找半天。”我当时就在想这可能就是我做了半年鸿蒙元服务最想给别人解释清楚的事——很多人觉得鸿蒙Next就是“换了皮的安卓”元服务就是“鸿蒙版小程序”真不是。这半年踩的坑、改的需求、被审核打回来的次数、上线后看到的用户数据让我慢慢摸清楚了这个新生态最根本的不同它不是换了一套开发语言、换了一套UI组件那么简单它是把整个“人找服务”的逻辑反过来了。一开始我也以为元服务就是小程序直到审核打了我三次我最早接元服务需求的时候心里是不屑的这不就是快应用、小程序的老套路吗把APP拆成小模块免安装加个卡片入口换汤不换药。我就按照做小程序的思路把原来APP里的充值功能抽出来打包成一个2MB的包首页放了个轮播广告下面几个功能按钮点“充值”跳转到充值页面选金额、输密码、支付链路和小程序一模一样。结果提交审核第一次10分钟就被打回来了理由写得很直白“未体现元服务直达特性存在不必要的中间页面。”我当时没当回事把轮播广告删了又提交。第二次打回来理由“功能入口层级过深用户无法在两步内完成核心操作。”我有点懵两步小程序三步跳转不都是很正常的吗我把首页多余的按钮全删了就留一个大的“立即充值”按钮点进去直接选金额支付整个链路就两步。第三次提交终于过了但审核员给我留了一句备注“元服务不是把APP装小是让用户不用找就能用。”这句话我直到上线一周后看数据才真正懂。一开始我还在卡片上放了个小logo想让用户点进主界面看看我们别的功能结果数据出来卡片点击率90%以上都集中在“直接充值”那个按钮上点进主界面的人不到5%。后来我干脆把logo去掉2×4的卡片上直接放三个常用金额按钮20/50/100用户点一下金额直接跳支付连元服务主界面都不用进。改完第二天充值成功率直接涨了40%后台用户评论里最多的一句话是“太方便了不用点进去瞎找”。那时候我才反应过来我之前的思路有多错做APP、做小程序的时候我们的惯性思维是“怎么把用户拉到我的应用里来多看看我的功能多停留一会”但做元服务逻辑完全反过来了——你要想办法让用户不用进你的应用在卡片上、在锁屏上、在负一屏点一下就把事办完了。用户停留时间短不是坏事说明他办事快他下次还会用。你要是想尽办法把他往里拉加开屏、加跳转、加广告他转头就走了。这不是设计规范要求是用户用脚投票选出来的。卡片不是广告位是服务本身我见过太多开发者把万能卡片做成了广告位一张图、一个logo、一个“点击打开”按钮点进去就跳APP主界面。我一开始也是这么干的后来数据教我做人。最早我做快递查询的元服务2×2卡片就放个快递图标下面写“您有X个快递”点进去进列表页。那时候卡片点击率只有2.7%我还觉得挺正常——不就是个通知入口吗。后来我改了一次版2×4的卡片上直接把最近一个快递的取件码用36号大字打出来下面加个“一键导航去驿站”的按钮根本不需要点进APP。改完上线第一天点击率直接涨到27%。后台有个用户评论我印象特别深“我以前取快递要开APP、点我的快递、找取件码站在驿站门口举着手机找半天现在锁屏一亮直接就能看到码我把手机上其他三个快递APP全卸了。”这件事给我触动特别大。以前我们做APP的通知栏推送总怕打扰用户发多了被关权限发少了用户想不起来打开。但卡片不一样——它就安安静静待在用户桌面上、负一屏上用户不需要的时候它不响不震不弹通知需要的时候抬眼就能看到核心信息。它不是用来引流的广告位它就是服务本身。后来我做所有卡片都定了个规矩任何卡片最多点一下必须能完成用户最常用的那个操作绝对不许做“点卡片进APP再点按钮”这种脱裤子放屁的事。查公交的卡片直接显示最近一班车还有几分钟到不要点进去才看门禁卡的卡片直接弹二维码不要点进去选哪个门外卖的卡片直接显示还有几分钟送达不要点进去看骑手位置。很多人说鸿蒙卡片没什么技术含量不就是个远程View吗技术上确实不难难的是思路转过来——你得真的站在用户的角度想他掏出手机想看这个信息的时候最想第一眼看到什么他懒得点进去的那个步骤是什么你替他省一步他就会用你的东西。分布式不是炫技是真能少写一半代码刚开始看到分布式软总线、跨端流转这些概念的时候我觉得这就是发布会炫技用的普通人谁会天天把手机上的东西投到平板上直到我做社区门禁那个元服务的时候才发现这东西是真的能省工作量。一开始需求是手机能开门禁手表能开门禁车机上也要能开门禁——毕竟很多人开车进小区总不能停下车掏手机扫二维码吧我当时估算了一下工作量手机端做一个手表端因为屏幕小、性能弱得单独做一个版本车机端又要做一个横屏版本三端加起来怎么也得写小一个月。后来我抱着试试的心态用了分布式能力结果三天就做完了。逻辑特别简单手机上的元服务正常生成门禁二维码车机连接到手机的分布式软总线之后直接把二维码的渲染指令推送到车机屏幕上车机根本不需要装这个元服务只要和手机在同一个华为账号信任环里就能直接显示。手表端更简单直接把手机上的2×2卡片推过去手表抬腕就显示二维码连单独打包都不用。上线之后有个车主给我发反馈说他以前进小区要么掏手机扫要么把门禁卡贴车玻璃上现在车开到门口车机屏幕自动就弹出二维码抬杆就走连手都不用抬。他说“我以为这功能得等车机版更个半年才能用上没想到这么快就有了”。他不知道的是这功能我三天就写完了。当然坑也不是没有一开始直接把手机上的二维码推到手表上因为手表屏幕只有1.6英寸二维码太大扫不上车机横屏的时候卡片竖过来显示占了半个屏幕挡导航。这些适配工作花了点时间但比我重新写两个完整应用简单太多了。以前说“一次开发多端部署”我总觉得是口号这次真用上了才发现分布式不是给你用来炫“碰一下传文件”这种炫酷功能的最大的用处是帮开发者省力气——你不用给每个设备都做一套独立APP核心逻辑写一遍哪个设备需要就把服务推过去就行。用户才不管你是怎么实现的他只知道自己在车机上看到了门禁码不用掏手机他就觉得好用。这半年踩过的最实在的几个坑都是文档上没写的做这半年踩的坑能写满满一笔记本很多都是官方文档没写明白、示例代码里没提自己熬了好几个夜debug出来的第一个坑元服务主包4MB的限制真的不是闹着玩的。一开始我往包里塞了三张引导页的高清图、两个动画特效文件、一套全量icon打包出来6MB根本传不上去。一开始我还想找办法拆分包、做动态加载后来干脆把引导页全删了——用户点进来就是充值、查快递、开门禁的办完就走谁看你三页引导教他怎么用啊删完之后包大小1.8MB冷启动速度从1.2秒变成了300毫秒点一下就出来反而体验更好。后来我才想明白4MB的限制不是故意卡开发者是逼你把没用的东西全删掉只留核心功能。第二个坑别做超过两步的操作链路。我一开始做查公积金的服务流程是“选城市→选缴存银行→输身份证号后四位→看结果”四步转化率只有18%。后来我做了个本地缓存用户第一次查完下次进来直接显示结果只有一个“刷新”按钮一步到位。改完转化率直接涨到62%。真的别觉得用户有耐心一步步点超过两步一半人就退出去了。第三个坑能不用自己做账号系统就别做。一开始我想做手机号验证码登录还要做用户体系、做云同步后来试了下华为账号一键授权连授权弹窗都是系统级的用户点一下“同意”就拿到openId了不用输验证码不用设密码授权率能到92%以上。而且根本不用担心用户收不到验证码、手机号换了登录不上这些破事系统都帮你处理了。我做的几个元服务全用系统账号自己一行账号相关的代码都没写省了至少一周工作量用户还觉得方便。第四个坑不要乱要权限。一开始我做笔记服务的时候想顺便拿个位置权限自动给笔记加位置标签结果审核直接打回来说“核心功能不需要位置权限禁止申请”。我一开始还觉得委屈加个位置标签不是更方便吗后来做了用户调研80%的用户看到弹位置权限请求直接就点拒绝还有人直接退出去不用了。我干脆把位置功能做成可选的用户主动点“添加位置”的时候再申请权限同意率反而涨了——人都不傻你上来就一堆权限要他第一反应就是你要偷他信息。第五个坑别想办法保活、别偷偷后台跑。以前做安卓APP总想着怎么把服务保活怎么收推送怎么不被系统杀掉。在鸿蒙里别动这个歪脑筋。元服务本来就是用完即走的系统需要的时候把你拉起来用完了就给你杀掉你非要做后台保活审核百分之百过不了就算过了被系统检测到直接给你下架。刚开始我还想做个后台常驻提醒快递更新后来发现系统本身就能给你发推送根本不需要你自己后台跑。系统的推送到达率比你自己保活高多了还省电省点力气不好吗所谓“新生态”新的根本不是技术跟很多做鸿蒙开发的朋友聊天大家一开始都在抱怨ArkTS不如TypeScript顺手API改来改去文档不全调试工具难用包体积限制多权限管得严这也不让做那也不让做。我一开始也这么想直到我做的第一个元服务上线一个月用户量慢慢涨上来有很多用户评论说“这才是APP该有的样子”我才慢慢反应过来这些“限制”其实根本不是限制。以前安卓和iOS的生态本质是个大超市开发者把自己的APP摆上货架想尽办法打广告、搞推送、发优惠券把用户拉进自己的店里想尽办法让用户多待一会、多点几个按钮、多充点钱。用户想办一件事得先记住这件事要找哪个APP去应用商店下载给一堆权限然后在APP里找半天功能还要忍受开屏广告、弹窗推送。我们这些开发者一半的精力不是放在把核心功能做好上是放在怎么搞流量、怎么保活、怎么提高日活、怎么让用户多打开几次上。鸿蒙这个新生态本质上根本不是又一个超市。它更像一个贴身助理你到快递站了他主动把取件码递到你面前你到小区门口了他主动把门禁码准备好你手机快没电了他主动告诉你附近哪有充电宝你要坐公交他主动把公交卡弹出来。你不需要记住“我要办这件事得打开哪个APP”不需要下载不需要找功能系统直接把你需要的服务递到你手里。一开始觉得处处是限制是因为我们已经习惯了安卓那套玩法想怎么收集数据就怎么收集想怎么弹广告就怎么弹广告想怎么保活就怎么保活。在鸿蒙这里这些路都给你堵死了你不能乱要权限不能弹开屏广告不能偷偷后台跑不能把用户圈在你的APP里。你唯一能做的就是把你那一件核心服务做好——用户充钱的时候10秒内能充完取快递的时候能直接看到取件码开门禁的时候点一下就能开。你把事办得越利索系统越愿意把你的服务推给需要的用户用户越愿意用。说点实在的现在鸿蒙生态确实还有很多不完善的地方文档写得模棱两可有些API说改就改模拟器跑不起来分布式功能有些审核标准也不明确我上周为了调卡片刷新的bug熬到三点多才睡当时也骂过娘。但做了这半年我是真觉得这是个不一样的东西——它不是要做一个更快的安卓、更流畅的iOS它是想把用户从“找APP、下APP、在APP里找功能”这个破事里解放出来。作为开发者其实我们要做的事特别简单别想着做大而全的超级APP别想着圈用户搞流量就把那一件小事做好——用户需要的时候你1秒内出现点一下就把事办完别让他等别让他找别给他弹广告。就这么简单。这可能就是我做了半年最实在的一点心得。
返回列表