快好知 kuaihz

ToB产品经理:SDK产品设计的8个技巧

SDK是TOB产品的一个重要组成部分,可以简单理解提供给程序员帮助他们创建软件。那么如何设计SDK产品,它又有什么设计技巧呢?本文将为大家揭晓。

SDK是对很多非科班出身的产品经理而言是陌生的,但对于ToB产品领域,许许多多的ToB产品都需要面向公司级开发者提供自己的SDK产品

当然,SDK首先是面向开发者的,所以称之为ToD产品更精确,但是从ToB产品的大范畴来说,SDK是ToB大产品范畴的一部分,所以在此划入大ToB产品的类别。

那么SDK是什么?SDK有什么设计套路吗?让我们一一来拆解。

一、SDK是什么?

维基百科对SDK的定义:

SDK:软件开发工具包(Software Development Kit, SDK)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。

SDK的定义比较拗口,我们简化一下就是:“SDK是程序员创建软件的开发工具的集合”。

这样就清晰了,我们再明确几个重点:

1. 程序员

SDK是程序员开发出来的,也是要提供给程序员使用的。可谓:从开发者来,到开发者去。

2. 创建软件

SDK是用来帮助程序员创建软件的,用来帮助程序员编程的。

3. 集合

SDK是一个开发工具的集合,这里要强调它是一个集合,它不止包含单纯的功能模块文件,它还包含这些库文件的使用接口、说明文档、使用Demo等内容。

总之,SDK是这么一种存在:

假如你是ToB公司的产品策划同学,你们公司为客户公司的开发者提供一些功能,这些功能可能是QQ登录组件、支付宝支付组件、通信通道组件···等各类模块,你公司提供的这些功能模块就以SDK的形式存在,提供给客户公司的程序员。

客户公司的程序员拿到你们公司的这套SDK后,你就可以根据里面的说明文档,调用提供的接口,使用SDK中的库文件(lib格式、dll格式、so格式等)进行编程,把你们提供的功能集成到自己的软件中,使他们的软件具备了SDK提供的功能。

二、常见的SDK有哪些?

1. 在Windows 系统下

有许多的SDK供开发者使用,在Windows 系统开发出各种个样的产品

2. 在Android系统下

有官方不断推出的Android SDK,供Android开发者在Android系统上开发出各种个样的产品

3. 第三方公司提供的SDK

例如:在2010年腾讯提供开放战略要将腾讯的社交能力开放给行业,就是我们常见的QQ分享、微信好友分享、朋友圈分享等功能,这些功能在Android系统上就可以通过SDK的形式提供给开发者

在这里,我们要重点分享的,也是ToB产品经理需要策划的,就是第三类。

三、SDK存在的意义是什么?

答案是:效率。

SDK将常用的功能封装后,以组件的形式存在,让其他项目开发者,只需要简单集成SDK,调用几个接口,就可以使用SDK中已封装的功能。不再需要重复造轮子,可以大大提高开发效率。

尤其在移动游戏领域:

许多游戏产品能够在几个月内完成开发,一个重要原因就是能够直接调用 支付组件、语音组件、安全组件、数据通信组件等SDK,开发者只需要将核心精力放在游戏玩法的开发商。大大缩短游戏研发周期。

四、企业用户对SDK产品的诉求是怎样的?

他们希望:

能够以最短的时间完成接入,能够以最简单的方法完成SDK验证,使用SDK提供的功能。与此同时,在SDK运行过程中,还要有足够高的稳定性、兼容性,对APP的性能影响要足够小。

五、SDK产品的存在形式

目前的ToB产品大部分都在为移动产品尤其Android产品提供产品功能,所以我们这里以Android产品为例进行说明。

一款SDK产品大概包含以下内容:

1. SDK功能模块

在移动开发领域,可以大概了解以下概念,对于以C/C++语言为核心的native层开发,我们一般会提供.so格式的动态链接库文件;对于以java语言为核心的jave层开发,我们一般会提供.jar类型的库文件;对于以C#语言为核心的Unity等游戏开发,我们一般会提供.cs格式的功能模块。

SDK功能模块包含了核心的功能实现。

2. API接口

有了SDK模块,程序员需要调用这些SDK模块以使用其中的功能。那怎么调用呢?就需要用到我们提供的API接口。API接口是一些函数,开发者将你提供的SDK加载到自己的工程中,通过对这些接口进行调用,就可以使用SDK中的功能了。

3. 文档

SDK模块怎么加载?API接口怎么调用?这其中需要注意什么?这些都需要通过文档的形式向开发者阐明。

4. Demo

即使有了上面的功能模块、API接口和文档,开发者使用你的SDK产品依然是很抽象的,所以最好能给一个工程Demo,这个Demo中有详细的示例代码来说明怎么在工程中使用SDK,让开发者能够一目了然,快速编码。

六、SDK产品设计的 8 大技巧

SDK的开发工作是由技术同学完成,但他们更关注的是功能的实现。产品经理负责最终将SDK这个产品形态,进行产品化包装,然后作为产品提供给外部企业使用。

所以产品经理应该对外部厂商对SDK产品的使用场景有最敏感的把握,然后把这些关注点转化为产品上的需求,将这些用户体验层面的要求融入到技术同学的SDK开发过程中。

那么,对于企业用户的开发者,他们在使用SDK产品时有哪些关注点?

ToB产品经理在策划SDK产品时有哪些窍门?我们来总结SDK产品设计的8大技巧:

1. 接口越少越好

在客户的产品研发过程中,SDK的调用只是其中的一个小环节,他们的开发者对SDK产品的诉求是,用最短的时间完成接入,能够稳定的使用SDK提供的功能。所以,怎样保证SDK调用简单。方法是,接口越少越好。最好只需调用1-2个简单接口就可以完成接入。SDK接入的耗时最好不超过半天。

2.  要有简单的Demo

为SDK提供一份简单的Demo,可以说已成为SDK产品的必需品。对于客户开发者,在调用SDK时,参照提供的可运行的Demo工程接入SDK,会事半功倍,接入成功率大大提高。

3. 要有清晰的文档

一份好的SDK产品,其简明的接入文档是必不可少的。文档的描述需要清晰条理,描述清楚开发者在接入SDK过程中可能遇到的问题。

格式方面,最好使用markdown格式,这种结构化的文档形式,在移植到官网平台上展现时,可以采用更标准的统一格式,也可以采用结构化的展现形式。

4. 体积越小越好

开发者许多时候会集成5个甚至10个以上的SDK,所以如果每个SDK的体积都比较大,最终会对自己的项目体积或者APP包的体积影响过大。因此,这就要求在开发SDK的时候一定关注体积大小,精简代码与功能,以最精简的形态提供最核心的功能。

5. 全面适配各种场景

SDK作为工程项目的组件,就需要适配各种各样的工程项目场景。以移动开发项目为例,就至少需要提供Android、iOS两种类型的SDK版本。再以移动游戏开发为例,需要适配各种各样的引擎语言,比如SDK需要支持Cocos引擎、Unity引擎、虚幻引擎等。

6. 足够的稳定性和兼容性

SDK作为第三方组件,对于客户来说是不太可控的。他们不清楚SDK内部的逻辑,也不可更改SDK的逻辑。一旦接入到自己的APP项目中,这就相当于一个黑盒的存在。一旦这个SDK出现crash情况,将会危及自己的APP的运行。所以他们对于SDK的稳定性和兼容性是非常在意的。

要想保证SDK的稳定性和兼容性,需要做到两点:

第一,在研发SDK时,从原理上多下功夫,在基础机制上保证SDK是能够适配各种机型、能够适配各种场景的。

第二,在对外推出之前,还需要进行全面的测试,在各种机型上,在各种场景下,对SDK进行全面的测试。

这里还有一个小Tips,在客户使用SDK前,可以提醒开发者自己可控SDK是否运行。方便如果出现问题,也可以及时通过后台开关关闭SDK的调用。

7. 接入自测要简单

SDK的接入完成后,开发者需要验证SDK接入是否成功。最基础的方法是,提供给开发者一个教程,开发者自己查看日志等方法,观察是否接入成功。

还有两个产品化成都更高的方法:

第一,本地接入,Web实时数据验证

在后台根据SDK接入后的数据上报情况,在Web端实时将接入检测结果呈现给开发者开发者只需要在本地简单运行接入了SDK的项目工程就OK。简单方便,受欢迎。

案例:tdw.qq.com

腾讯数据大师SDK接入验收功能

第二,Web一体化安装SDK

有些SDK产品不再让开发者进行复杂的接入,直接要求开发者将APP上传,然后统一将SDK打入到APP里面,通过机器化的SDK打入方式,免去了人为接入可能存在的误操作等情况,将SDK的接入过程也免除了,这种方法只要最终提示打入成功,就代表接入SDK成功,更简单稳定。

案例:gameguard.nprotect.com

8. 保障数据安全

SDK接入后,在客户的工程中作为一个第三方黑盒的存在。所有公司都会很担心SDK是否有后门,是否会获取各种敏感数据上报。另外,尤其对于运行在海外的项目,欧盟出台了GDPR政策后,对数据的采集权、对用户的隐私权,都有更严格的要求,所以务必引起重视。

针对SDK数据安全问题,SDK产品设计过程中,需要做到3点:

第一,严格管理数据采集。SDK在开发过程中,需要做到:不需要的数据坚决不采集,因业务需要采集到的数据务必进行严格加密处理,谨防数据泄漏。

第二,在产品宣传过程中打消客户顾虑。在宣传时,重点呈现SDK数据权限问题,向客户承诺数据采集的严谨性和数据存储的保密性。打消客户的顾虑。

第三,在客户使用SDK时提醒客户注意数据隐私问题。你的客户需要提醒自己的用户会采集哪些数据,并需要经过用户同意之后,才能使用SDK产品

以上即是SDK产品设计的 8大技巧,客户最关注,产品设计也最亟需解决。

七、一些ToB类的SDK产品案例:

下面列举一下SDK产品案例,可以用来对比学习:

(1)友盟:https://www.umeng.com/

友盟 SDK下载

(2)Gvoice:https://gcloud.qq.com/product/6

GVoice SDK下载

(3)游密:https://www.youme.im/

游密 SDK下载

(4)百度云SDK:https://cloud.baidu.com/

百度云

(5)腾讯YSDK:https://open.tencent.com/

YSDK

八、总结一句话

SDK产品形态是ToB产品化的重要组成部分,产品经理可以在SDK产品设计的过程中使用上述的8大技巧,与公司一起推出高度产品化的SDK产品

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:产品设计  产品设计词条  经理  经理词条  技巧  技巧词条  产品  产品词条  ToB  ToB词条