对于不同的用户,移动应用可以呈现不同的面貌——它会以您的名字向您打招呼,推荐将您喜爱的商品加入购物车,并在促销模块中展示特定地址有库存的商品。这一切无需巨额投入即可实现。Applicatura工作室的首席执行官康斯坦丁·科诺诺夫将介绍如何通过片段(snippets)来管理移动应用中的商品推荐。
代码片段是可重复使用的代码模板。也就是说,它们实际上是类似积木块的组件,可以用来构建各种内容。
这些模块可以是横幅、轮播图、商品卡片,以及应用中的几乎任何对象。首页可以由这些模块组成,它们也可以放置在应用的各个部分,作为向用户提供额外信息提示的触发器。
例如,在 SimpleWine 的应用程序中实现了这样一种方法:将组件作为预置元素集合,其位置和可见性由 API 控制,从而能够向不同城市、不同用户群体展示不同的推荐组合。这使得 SimpleWine 获得了更强大的定向推荐能力,进而提升了整体效果。 SimpleWine 正是采用了这种方案:将内容模块化为预制的元素集合,其位置和可见性由 API 控制,从而能够向不同城市、不同用户群体展示不同的推荐组合。这使得 SimpleWine 在精准投放推荐方面获得了更大优势,进而提升了整体效率。
SimpleWine 应用程序所基于的模块示例:



这种方法的优点在于,每个模块可以独立于其他模块显示——也就是说,它可以针对目标用户群体在所需位置展示。通过配置用户细分,SimpleWine 管理促销和常规商品推荐,从而提高购买转化率。
可以动态地添加或删除模块、调整模块的显示顺序,而无需发布新版本。商品的推广方式也可以多样化。
移动应用向用户展示现有库存。因此,采用这种方法的第一个优势是个性化,即提供相关且更具销售潜力的推荐。正因如此,SimpleWine 30%的在线订单来自其移动应用,且该应用在运营一年内的收入增长了19倍。
片段(Snippet)的另一个优势在于应用开发的简便性。如果移动应用采用单体架构,其更新将非常困难——仅仅为了添加或移除某个模块,就需要耗费大量时间。
模块化方法使应用程序能够快速开发,并不断添加新功能。多个团队可以同时独立地添加模块,从而提高了开发速度。此外,由于代码片段的存在,可以在不更新应用程序的情况下禁用模块,从而更快地修改应用程序。始终可以管理应用程序中模块的顺序,以突出显示最重要的内容。
每个模块的内容由服务器定义,能够及时向用户推送所需推荐——实际上在每次启动应用时即可实现。这对电商业务是一个显著优势,因为其内容变化非常迅速。例如,在莫斯科禁止咖啡馆和餐厅营业后,我们在 SimpleWine 应用中直接关闭了面向莫斯科用户的品鉴会及活动预告模块,无需为此更新应用。以下是同一款应用在莫斯科和叶卡捷琳堡于同一时间可能呈现的不同界面:
左侧为莫斯科的移动应用界面,右侧为叶卡捷琳堡的界面
为了基于代码片段构建移动应用,我建议:
1. 在应用设计阶段创建一套设计规范(Design System),其中定义各个模块。在应用服务器端创建一组实体,每个实体负责一个独立的模块。
在创建和发布模块时,设置必要的参数——如图片、文本、模块编号、该模块应显示的分区、深度链接(deep link)、促销码(如需)等。当模块发布时,应用将接收标准的 JSON 数据并将其转换为 UI 元素。
2. 在导航中使用通用链接(Universal Links,即不仅能打开应用,还能直接跳转到应用内指定分区的链接)。对于采用模块化架构的应用而言,通用链接非常适用——借助它们,可以管理相互独立的模块和分区之间的导航。
例如,横幅可以直接指向商品详情页或个性化推荐合集,从而保留上下文并缩短用户到达目标商品的路径,进而提高购买转化率。或者,从“促销”模块可以直接进入商品详情页——用户只需将商品加入购物车即可完成购买。
这里需要注意的是不要遗漏促销码:如果优惠信息中包含促销码,应将其自动填入结账页面的相应字段,而不是让用户去回忆是否有促销码以及在哪里使用。
3. 使用来自外部来源的链接以支持全渠道(omnichannel)体验。与上述情况类似,处理外部来源时的导航也可以这样工作——无论是通过邮件推送、推送通知还是二维码跳转,用户都应能直接进入应用内的相应分区——例如促销页面或商品详情页,而不是仅仅启动应用然后自行寻找商品。
4. 使用外部系统来高效地与移动应用用户进行互动。例如, Firebase 用于错误追踪和 A/B 测试, AppsFlyer 用于归因分析, Dynamic Yield 用于商品推荐。
基于代码片段构建移动应用不仅能够实现全渠道体验和无缝的用户旅程,还使移动应用及其运营的市场营销人员能够快速响应变化、测试假设,从而支撑大型电子商务的整体销售增长。因此,代码片段是我们的核心利器!

