写点什么

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

  • 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:372824

评论

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

ReactNative进阶(十六):React-Native 组件生命周期

No Silver Bullet

生命周期 React Native 组件 7月日更

“攻城狮”实用指南之Linux CPU性能优化

中原银行

Linux

颠覆传统经营模式,区块链助力餐饮行业数字化革新

旺链科技

数字化 区块链技术 餐饮

模块8 作业

Chris Cheng

架构训练营

WATT NETWORK软件系统开发详情

HarmonyOS开发者创新大赛作品《智能农场》相关开发技术分享

科技汇

架构师之于团队的作用和其能力体现是什么?

happlyfox

话题讨论

上手后才知道,这套仪表盘系统用起来是真的爽!

尔达Erda

开源 微服务 运维 APM msp

关于数据库时区,这么多奥秘你都知道么?

华为云开发者联盟

数据库 操作系统 时间 时区 GaussDB(DWS)

毕业四年,我当初是如何走上编程这条路的!

Andy阿辉

程序员 开发 大学生 编程故事 自我成长

【技术实践】基于Cglib动态代理,实现Spring的AOP核心功能!

小傅哥

spring 小傅哥 aop 动态代理 cglib

神奇的Duff's device

实力程序员

5G消息盛事来袭|2021中国移动创客马拉松大赛5G消息专题赛即将启动!

5G消息

开发者 创客开发 开发者大赛 5G消息

anyRTC 6月SDK更新迭代

anyRTC开发者

音视频 WebRTC 实时通讯sdk

Rust从0到1-智能指针-内存泄漏

rust 智能指针 内存泄漏 循环引用 smart pointer

【LeetCode】二叉树的层序遍历Java题解

Albert

算法 LeetCode 7月日更

价值连城 杰弗里·欣顿(Geoffrey·Hinton)的采访 给AI从业者的建议 John 易筋 ARTS 打卡 Week 55

John(易筋)

ARTS 打卡计划

模块二作业-微信朋友圈复杂度分析

babos

#架构实战营

Vue进阶(四十五):精解ES6 Promise 用法

No Silver Bullet

Vue Promise 异步编程 7月日更

详解SQL优化必备:并行执行框架和执行计划

华为云开发者联盟

sql SQL优化 执行计划 GaussDB(for openGauss) 并行执行框架

质量基础设施一站式服务平台建设,NQI平台解决方案

禧大福酒口感怎么样?好喝又养生

Geek_50a546

我是一个请求,我是如何被发送的?

华为云开发者联盟

注解 流程 CSE 请求 RestTemplat

听说过对 Go map 做 GC 吗?

万俊峰Kevin

map Go 语言

大型团队的敏捷项目管理实践与思考

万事ONES

项目管理 敏捷开发 ONES 开发管理

新手程序员必备10大技能

禅道项目管理

Linux 程序员 语言 git 学习

【Flutter 专题】87 初识状态管理 Bloc (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

快速构建JVM整体认知-JVM的生命周期

刘绍

Java 程序员 JVM JVM原理 规范

Scrapy 爬取西刺代理存入MySQL & MongoDB 数据库(手把手教学,超详细步骤)

若尘

MySQL mongodb 爬虫 Scrapy 7月日更

【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)

小呆呆666

flutter ios android 大前端

决定中国SaaS成败的三个关键问题

ToB行业头条

SaaS

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