写给产品经理的SDK产品设计指南

小乐帝 产品经理读书会 最近搞AI知识付费服务,很多小伙伴想了解如何了入行AI。小乐帝复盘自己的入行历程。基本还是基于过去的互联网行业经验+AI。小乐帝目前从事AI推荐系统的产品设计工作,主要面向互联网行业客户提供推荐服务。工科背景懂技术,做过新闻客户端产品,了解移动端开发实现,对应用在新闻客户端的推荐系统有基本认知。技术背景和甲方客户经验,再到公司补齐对AI的认知,就真正入行了。SDK产品就是体现以上行业+AI认知的一个案例。SDK产品价值小乐帝自身从互联网甲方到AI乙方的经历。可以使小乐帝从C端产品需求和B端产品需求角度分析SDK产品价值。C端产品需求多元,单个产品技术团队无法单独满足所有能力,需要外包能力。以新闻客户端为例,小乐帝老东家做新闻客户端和做视频是两个团队,为了将视频融合进客户端,提升用户粘性,视频团队提供了视频SDK,SDK能力不仅提供视频数据还负责视频tab的渲染。为了推荐更精准,新闻类产品都需要更丰富的用户画像,用户地理位置信息关联的周边服务具有丰富画像价值,新闻客户端显然不需要自己做一个地图。而是“拿来主义”将高德地理位置信息SDK直接嵌入获取用户位置相关服务信息。B端需求则讲求效率和复用性。一套服务多个客户使用是最佳的状态。传统意义上的API上报信息和返回结果流程是客户端上报请求给客户服务端,客户服务端再同步给服务商服务端。这中间不仅涉及客户开发成本涉及服务端和客户端,还会造成数据路径长,出现问题定位困难。采用SDK产品后,客户端直接将请求上报给服务商服务端。节省了客户服务端开发成本,同时能保证上报数据准确性,从源头上保证数据质量。SDK产品需求SDK产品需求首先是具备业务需求的基本功能。如地图SDK具备上报地图请求和返回位置信息请求结果。除此之外就是SDK需要各项性能要求。主要包括包体大小、崩溃日志上报、加载和更新等。小乐帝C端从业经历中,新闻客户端集成SDK不下几十个,SDK包体大小从几K到几M不等,使得整个安装包大小过大,造成下载耗流量和占用存储空间问题。经过小乐帝分析,SDK可分为三类:产品正常使用所必须SDK(如播放器SDK,首页视频广告正常展示所必须)、产品使用时可加载(如地理位置SDK,用户切换本地频道再加载)、可砍掉SDK(如废弃功能相关SDK)。经过以上种类划分后,再对产品使用时可加载的SDK做了云端异步加载处理,废弃SDK移除,产品瞬间实现了瘦身的目标。从B端SDK产品设计过程中就要尽量压缩SDK包体大小,不要给客户造成包体负担。Android生态系统碎片化的特征,决定了SDK存在系统和机型接口兼容性的问题。从C端产品解决此问题,是设计了对各SDK云端开关控制能力。从B端产品来讲,则需要适配尽可能多的机型和系统,并做好崩溃日志上报和监控。及时发现问题,并评估影响范围,制定相应解决方案。一个产品多个产品维护,协调发版时间是个问题。为了解决这样的问题,将非平台团队产品功能做了SDK化处理,互相解耦互不影响。同时还提供了Android云端热更新的能力,其他团队就可以自主的愉快更新功能了。从B端产品来讲,每次都依赖客户发版,互相制约,有了热更新能力后,就能够偷偷改掉客户还没发现的bug了。SDK用户需求B端产品不同于C端产品之处在于,除了基于C端需求的B端业务需求,还需要考虑到B端客户实际用户需求。譬如接入诸葛IO统计SDK,接入SDK用户是开发者,看统计报表用户是运营人员或产品人员。因此从SDK产品角度讲,除了SDK核心业务需求、性能需求还需要满足开发者需求,易上手接入,才能满足开发者需求。这里可以参考github开源项目套路:demo、API、常见问题和快速上手指南。SDK产品也需要从以上角度满足开发者易上手接入需求。快速接入指南和demo可帮助开发者快速建立SDK功能认知,使整个功能跑通。再根据业务需求,查看API和常见功能,实现更多高级功能。除了以上满足易上手接入需求外,还可以通过个性化SDK生成,提供给开发者配置好的接口,即接即用。SDK产品设计,大抵如此。关于作者:小乐帝,一线AI产品经理、简书科技优秀作者、产品经理读书会创始人。为你在AI化大社会浪潮中分享实践经验和行业认知,提升AI认知,解决AI化时代职业转型和发展的问题,成为AI时代弄潮儿~欢迎加入小乐帝知识星球(见下图),一起探索AI改变世界之路。AI产品经理探索小组QQ群:634414026学习转行人工智能/AI QQ群:704965446


「产品经理读书会」专注于爱读书爱思考的产品人提供读书推荐、产品思考、以书会友的环境欢迎爱读书的产品人分享产品道路上的感悟投稿邮箱:booksforpm@126.com

阅读原文 在看