当前位置:网站首页>DeepLink在转转的实践
DeepLink在转转的实践
2022-08-03 14:23:00 【InfoQ】
1. DeepLink 简介
- 刷抖音看到转转的广告,点击视频下方的下载链接,如果没有安装转转则下载转转,并在打开转转后跳转到相应活动页面
- 在微信看到朋友分享的转转商品,点击后如果没有安装转转则下载转转,并在打开转转跳转到相应商品的详情页
- 看到转转发送的订单提醒短信,点击链接后如果没有安装转转则下载转转, 并在打开转转跳转到相应订单详情页
2 .应用场景

2.1 IOS 应用场景

2.2 安卓应用场景


3. DeepLink 服务

3.1 投放链接设计
- 各个渠道链接规则不一样,保证我们链接规则能够覆盖所有渠道
- 通过我们的调研有些渠道只支持 Get 请求,有些渠道不允许带参数,有些渠道必须以.apk 进行结尾
- 投放方便,链接投放出去之后不需要再改动
- 由于投放链接是给到一些自媒体创作者,在给出链接之后能够保证从始至终都能下到最新的APP
- 充分利用 CDN
- 转转 APP、找靓机 APP 的包百兆左右,为了保证服务的稳定性同样为了节约带宽,尽量发挥 CDN 的作用把绝大多数请求让 CDN 服务器来进行处理返回
3.1.1 兼容版本1.0
- appType: APP 类型,目前支持转转和找靓机,可扩展,如 zhuanzhuan
- channel:渠道类型,根据每个投放渠道单独设置渠道 id,如 douyin666
- version:APP 版本号,如 9.0.0
- deepLink:deepLink 信息,目前传输 deepLinkId,deepLinkId 和端内跳转链接的映射关系由后台维护,服务端通过映射关系拿到跳转链接打入 apk 包中,如 huishou
3.1.2 升级版本2.0
- 可以通过修改版本号恶意下载 APP 的任意版本
- 保证用户一直下到最新的包需要版本更新之后更新所有投放链接
3.1.3 最终版本3.0

3.2 打包&下载

3.2.1 一级缓存(渠道包)
/**
* 缓存高频渠道包文件
*/
private static final Cache<String, byte[]> channelFinalAppCache = CacheBuilder
.newBuilder()
.expireAfterAccess(1, TimeUnit.DAYS)
.maximumSize(15)
.build();
3.2.2 二级缓存(原始包)
/**
* 缓存原始包文件
*/
private static final Cache<String, byte[]> channelAppCache = CacheBuilder
.newBuilder()
.expireAfterAccess(2, TimeUnit.DAYS)
.maximumSize(10)
.build();
4. 总结
边栏推荐
猜你喜欢
随机推荐
The embassy in Iceland reminds Chinese citizens in Iceland to strengthen safety protection
《深度学习》-学习笔记-1-机器学习基础
Leetcode 448. Find All Numbers Disappeared in an Array to Find All Disappeared in an Array of Numbers (simple)
PostgreSQL V14中更好的SQL函数
利用华为云ECS服务器搭建安防视频监控平台【华为云至简致远】
位级运算之计算整数位级表示奇偶性
CVPR 2022 | Predicting Skeletons from Human Meshes, True Physiological Skeletons!
OpenHarmony高校技术俱乐部计划发布
基于ModelArts的动漫头像自动生成丨【华为云至简致远】
Chrome browser corresponding driver_chrome mobile browser
用1000行代码统计西安新房价格后,我有一个惊人的发现……
[A summary of the sorting and use of activation functions in deep learning]
MySQL【视图】
网络通信的过程
PMP每日一练 | 考试不迷路-8.3(包含敏捷+多选)
The Chinese Embassy in Nigeria issued an emergency safety warning for the area near Zuma Rock in Abuja
连亏四个月,赚不回电费,预制菜经销商恐成“韭菜”?
162_Power Query is a custom function for quickly merging tables in a folder TableXlsxCsv_2.0
驻冰岛使馆提醒旅冰中国公民务必加强安全防护
PAT乙级-B1015 德才论(25)