2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

拼多多被苹果下架,竟然可以这样解决

  • 2020-04-08
  • 本文字数:1583 字

    阅读完需:约 5 分钟

拼多多被苹果下架,竟然可以这样解决

11 月 27 日,网友发现在 App Store 中搜索“拼多多”,只能搜索到“拼多多商家版”,而从拼多多官网扫描下载“拼多多买家版”二维码,跳转至 App Store 后,则显示 App 不可用。


虽说 iOS 的用户在拼多多的总用户群体中占比没那么大,但毕竟是三亿人都在拼的 App,此事一出,顿时激起千层浪,微博、百度等平台上议论不断,拼多多(被)成功抢占了热搜头条(恭喜拼多多运营人员被吃瓜群众带飞)。



很快,各自媒体相继发文蹭了蹭这个热点,于是这次下架风波的详细原因被大家伙儿丢了出来:目前,判断是与热更新类似的技术,导致拼多多审核版本与上架版本不一致,从而被 App Store 下架。


热更新,产品涵盖 iOS 端的朋友们一定对这个词不陌生。毕竟这种方法,能在服务器不关闭的情况下,允许用户打开应用直接下载安装更新代码(即绕过 App Store 审核的在线更新)。


而如果通过提交 App Store 审核的方式下发更新,考虑到 Android 和 iOS 同步,可能需要一周甚至更长的审核周期,这无疑会干扰大家伙儿的运营节奏——往大了说就是影响大伙儿赚钱呐。就拿文案来说,文案是影响转化率的关键一环,假如你的产品有个关键功能的文案写的很差、转化率贼低,你是急着赶紧上新版本改呢,还是慢慢悠悠等苹果十天半个月把新版本过审了再改呢?


因此,不少运营、产品、技术同学都对这个方法垂涎欲滴,希望钻钻空子,悄咪咪用热更新把发版这事儿办了。这次热更新下架风波中涉及的拼多多、荔枝 FM、搜狗地图等等,便是如此。只可惜还是没绕过苹果的复审,一不留神就被下了架。


难道真的就没办法绕一绕,做到不审核 就直接线上修改 App 控件 吗?

验证前置,告别热更新

有。不但有,还是苹果官方给出的方法。


其实,这里涉及到一个产品更新理念的问题。为什么会出现热更新的机制?就是为了解决线上环境常见的改版迭代问题推出的,企图避开苹果审核机制,直接后台控制版本更新,快速解决问题。


但是你想一想,同样都是改版,为什么不把验证前置呢?换句话说,如果我提前就将两个甚至三个、四个、一堆版本大方的展示给你苹果看,然后根据孰优孰劣的数据,将最优秀的版本留下、不好的版本去除,其最终效果,不正是热更新所希望达到的目标吗?


这便是 A/B 测试、灰度发布的理念了。


针对 iOS 开发者来说,Apple TestFlight 这个官方推出的方法,已经支持 iOS App 的 A/B 测试,允许线上更新版本。不过 TestFlight 的 A/B 测试是通过多次构建以及增强组实现的,这种实现方式需要多个版本构建,对开发者来讲并不友好,比如,怎样针对属性、版本等同时进行实验便是个已知且尚未解决的难题。


那有没有更好的,即不属于热更新这个禁区,又能实时更新版本,最好还能进行数据监控的工具?

A/B 测试+灰度发布的神兵利器

实际上,这种“验证前置”模式下提供的 A/B 测试和苹果严格限制的热更新不一样,因为主要是对标准属性的更改,在 App Store 可控范围内,所以 A/B 测试和灰度发布就不会被苹果封禁。在这方面,Testin 云测 A/B 测试已经率先支持诸多 App,例如 36 氪、自如、美图、在行、子弹短信等,皆在使用 Testin 云测来进行 A/B 测试和灰度发布。


Testin 云测 A/B 测试还针对不同模式,提供了不同的 A/B 测试方式。比如,在可视化模式中,只要你在已过审的 App 中集成了 SDK,那么,就可以在完全不用提交 App Store 审核的情况下,随时对标准控件属性(如颜色、文案、是否交互、是否隐藏等)进行更改,并实时上线。


不但如此,对于复杂的 A/B 测试,更可以使用灰度发布功能,先让各部分人群分别看到不同版本,而后通过开关机制,对数据表现最为突出的版本一键全量发布,即可直接让所有用户看到这个新版。关键的是,这也 无需审核


如果拼多多也是通过 Testin 云测的这种方式来实现线上实验、更新,恐怕这次的下架事件便不会发生了(当然,这样的话,热搜也上不了啦、卖家版下载排名蹿升到前十名的机遇也没啦,拼多多运营人员可要着急了哈哈)。


2020-04-08 19:373053

评论

发布
暂无评论
发现更多内容

redis sentinel 设计考试试卷

云里雾花

redis sentinel

如何通过抓包来查看Kubernetes API流量

Robert Lu

golang #Kubernetes#

System.Text.Json自定义Conveter

喵叔

11月日更

遇到了几道关于作用域的前端小题

空城机

JavaScript 大前端 11月日更

nginx配置详解

小鲍侃java

11月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起实践RocketMQ的服务搭建及配置操作

码界西柚

RocketMQ 11月日更 Apache RocketMQ 集群搭建

字节跳动面试官:SpringBoot统一接口返回和全局异常处理怎么玩?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

【LeetCode】N 叉树的最大深度Java题解

Albert

算法 LeetCode 11月日更

明道云对接企查查,一键矫正客户信息

明道云

不可思议,阿里巴巴首发:Java核心框架指导手册,竟1小时点击量破千万

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Vue进阶(贰零贰):集合 Set 和 Map

No Silver Bullet

Vue 集合 11月日更

先睹为快即将到来的HTML6

devpoint

JavaScript html5 11月日更

你敢相信?我用了3个月成功破茧成蝶,从简历被拒到收割8个大厂offer

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

记一次提升18倍的性能优化

捉虫大师

性能优化 Go 语言

Pulsar VS. Kafka(2): 以Segment为中心的架构

Apache Pulsar

kafka 架构 分布式 Apache Pulsar 消息中间件

架构实战营-模块五

瓜子葫芦侠

「架构实战营」

微博评论的高性能高可用计算架构

deng

架构实战

架构实战营 - 模块四作业

危险游戏

架构实战营

模块四作业

Asha

「架构实战营」

调优达到上限?这份尊享版性能实战套餐,让你领先别人好几个级别

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Elasticsearch写入数据的过程是什么?以及是如何更新索引数据的

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Hive基本理论和常用函数

犟马骝

Pulsar VS. Kafka(1): 统一的消息消费模型(Queue + Stream)

Apache Pulsar

kafka 架构 云原生 Apache Pulsar 消息中间件

模块四作业-redis 存储方案设计 - 学生考试试卷

Geek_cb2b43

架构实战营模块四作业

孙志强

架构实战营

微博评论的高性能高可用计算架构

deng

架构实战

真香!Github一夜爆火,阿里性能优化不传之秘终于开源

热爱java的分享家

Java 程序人生 性能优化 编程语言 经验分享

终于有人将Github星标百万的Spring技术精髓收录成册

热爱java的分享家

Java 面试 程序人生 springboot 经验分享

微服务架构中,二次浅封装实践

架构 分布式 微服务 技术栈 二次封装

考试试卷存储方案

天天向上

架构实战营

【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

冰河

Java 并发编程 多线程 高并发 异步编程

拼多多被苹果下架,竟然可以这样解决_文化 & 方法_云测数据_InfoQ精选文章