481 字
2 分钟
客户技术对接经验分享
1、三个角度
需求、甲方、实施过程
1.1、需求
- 统一接口人
- 对等沟通
- 确认信息
- 留预期
- 投入产出比
- 技术实现 || 商业价值
- 引导
1.2、甲方
- 及时同步进度
- 相处
- 不损害各自利益
- 合作共赢
1.3、实施过程
- 职责明确
- 同步进度
- 文档完备
- 流程规范
- 积极响应需求
- 挖掘完善
2、开发 bug
2.2、微信环境
2.2.1、自动播放
document.addEventListener("WeixinJSBridgeReady", () => {
// Todo
});
2.2.1、触控压力失效
- TouchEvent force 不准确
2.3、模拟移动端环境
2.3.1、移动端判断失败
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
) ||
(navigator.userAgent.includes("Mac") && "ontouchend" in document);
2.3.2、自动播放被阻止
- 始终允许静音自动播放。
- 在以下情况下允许自动播放声音:
-
- 用户与域进行了交互(单击、点击等)
-
- 用户之前播放过有声视频
-
- PWA
- 将自动播放权限委托给其 iframe 以允许自动播放声音。
2.4、IOS 环境
2.4.1 播放时间失效
- HTMLVideoElement currentTime 数值异常
2.4.2、小程序 web-view 黑屏挂起(超时)
- 通过 touchstart -> play()
- addEventListener visibilitychange -> pause() / play()
- HTMLVideoElement networkState
2.5、其他
2.5.1、canvas
-
双缓存解决 clearRect 导致绘图闪现问题
-
利用 getImageData 获取像素点判断黑屏情况
注意等比例像素压缩(插值法)
3、客户
- A
- 周期长、持续交付 sdk、技术文档
- 定期开会、同步进度
- B
- 开发 node 脚本测试
- 接触音频数据处理(参考声网、科大讯飞)
- C
- 需求涉及比较广、复杂
- 组织技术人员沟通、推进
- D
- 首次小程序业务上线,并发量过大,前端没及时关闭导致崩溃
- E
- 修改旧版 sdk,私有化部署
- 大屏定制
- F
- 深度接入,促进 3dcat 推流业务改进
- G
- 公有化版本首个客户
- 统计服务