如何在电商APP中实现类似亚马逊的商品分享生成可跳转URL功能
电商APP商品分享功能实现方案
整体实现可以拆分为商品唯一标识规则配置、后端链接生成服务、前端分享触发逻辑、链接落地兼容四个核心部分,具体实现步骤如下:
1. 前置规则配置
- 每个商品分配全局唯一的
spu_id(商品集ID)/sku_id(具体规格商品ID),作为链接定位商品的核心参数 - 提前约定链接参数规则:除商品ID外,可按需加入分享用户ID、活动ID、渠道标识等扩展参数,用于后续分享转化统计、分销结算等场景
2. 后端链接生成服务
提供独立的接口给前端调用,核心逻辑如下:
- 接收前端传入的商品ID、扩展参数,生成商品原始长链,格式参考:
https://你的电商域名.com/item/{spu_id}?sharer_uid={分享用户ID}&activity_id={活动ID} - 若需要缩短链接长度,可额外实现短链映射能力:
- 将生成的长链存入数据库,将自增ID转为62进制(0-9、a-z、A-Z组合)生成6-8位的唯一短链码
- 对外暴露短链格式:
https://你的短域名.com/{短链码} - 用户访问短链时,后端查询短链码对应的原长链,返回302重定向到原长链即可
- 接口最终返回生成好的长链/短链给前端
3. APP端分享交互实现
商品详情页添加分享按钮,绑定点击事件后执行以下逻辑:
- 获取当前页面商品的
spu_id/sku_id、当前登录用户ID等参数,请求上述后端链接生成接口,拿到最终的分享链接 - 调用系统原生分享能力拉起分享面板,不同端代码示例如下:
- iOS 端示例:
let shareUrl = URL(string: "后端返回的商品链接")! let activityVC = UIActivityViewController(activityItems: [shareUrl], applicationActivities: nil) present(activityVC, animated: true)- Android 端示例:
val shareIntent = Intent().apply { action = Intent.ACTION_SEND putExtra(Intent.EXTRA_TEXT, "后端返回的商品链接") type = "text/plain" } startActivity(Intent.createChooser(shareIntent, "分享商品到")) - 用户选择对应分享渠道后,系统会自动把链接填入输入框,用户直接发送即可
4. 体验优化(可选)
如果需要实现类似亚马逊的"点击链接直接唤起APP打开商品页"的效果,可接入深度链接能力:
- iOS 端配置 Universal Link,Android 端配置 App Link,将分享链接的域名和APP绑定
- 用户点击链接时,系统会优先判断是否已安装对应APP:已安装直接唤起APP并跳转到对应商品详情页,未安装则跳转应用商店引导下载,或直接打开H5商品详情页
内容的提问来源于stack exchange,提问作者FTF Studio
相关产品推荐
相关产品推荐

