客户端SDK接入文档,这么写就对了 | 技术写作

开发文档通常包括哪些类型?命令说明、错误信息说明、告警说明、事件说明、关键技术指标说明……但是,在云服务的世界里,个人以为,最常用到的2类开发文档是,API接口说明(下文简称“API文档”)和SDK接入说明(下文简称“SDK文档”)。

作为产品的重要组成部分之一,文档的质量一定程度上反映了产品的质量。如果文档质量无法满足用户需求,可能会劝退试用产品的潜在用户。同时,如果用户无法通过文档独立使用产品,只能求助于技术支持,带来较高的运维成本。

而且,在云服务世界里,用户以开发者为主,因此开发文档的重要性,往往超过操作界面的使用说明。

为了提升开发文档的质量,TC研修实验室曾介绍过API文档的写作方法,参见:开源世界,更加需要过硬的接口文档 | 技术传播。那么,今天我们就再来聊聊,相对复杂一些的,客户端SDK接入文档吧。

本文主要包括以下内容:

  • 内容设计。介绍SDK接入文档与周边类型文档的关系,以及内容拆分原理。

  • 内容架构。介绍SDK接入文档的一般内容架构,即写作模板。

  • 写作要点。介绍SDK接入文档写作过程中的常见问题,及写作技巧。

全文:2800字

说明:王老师对此文亦有贡献。

01

内容设计

由于SDK文档具有篇幅较长的特点,因此在设计或优化SDK文档时,需要对内容架构进行充分考虑,可以从以下几个方面入手:

基于操作步骤进行拆分

按照操作步骤进行拆分是最容易想到的方法,简单粗暴。不过为了避免内容过于碎片、凌乱,要考虑步骤与步骤之间的关联性,将强相关的步骤进行必要分组。

基于使用场景进行拆分

如果不同用户群接入云服务的方式存在差异,可针对不同使用场景,对SDK文档进行拆分。例如,区分iOS/Android终端;区分手机厂商;区分手动/自动添加依赖等。

基于内容类型进行拆分

与SDK接入操作弱相关的内容,可依据其内容类型,拆分到其他文档中体现,并添加链接进行关联。

SDK文档与其他类型文档的关系如下图所示。

文档类型

说明

API文档

当SDK文档中涉及API调用,可索引至相关API文档。

术语解释

当SDK文档中存在较难理解的术语需要详细说明,可索引至术语解释或者相关说明页面。

用户指南

当SDK文档的前提条件中涉及已完成的操作和配置,可索引到用户指南或单独的操作页面。

常见问题

常见问题作为用户经常出错的地方,需要在文档中补充相应警示信息,并索引到相关解决办法。

02

内容架构

一篇完整的SDK文档的基本内容架构如下所示。

一级目录

二级目录

前提条件

_

使用限制

_

接入说明

_

操作步骤

_

_

步骤1:准备

_

步骤2:添加依赖

_

步骤3:初始化SDK

_

步骤4:<初始配置1~n>

_

步骤5:编译设置

_

步骤6:调试

初始值说明

_

接入验证

_

前提条件

说明执行当前操作需要满足的条件,包括但不限于:权限、已完成的操作/配置。同时,考虑到前提条件不满足的场景,需添加索引,指导用户进行相关操作。

例如:

  • 已具有某产品使用权限。具体操作参见:申请使用权限

  • 已获取某产品配置信息。具体操作参见:获取产品配置信息

  • 已创建实例。具体操作参见:创建实例

使用限制

说明当前操作无法支持/适用的场景,包括但不限于:系统、环境等。如产品/服务无法支持/适用用户期望的场景,须提前告知,避免徒劳。

例如:

  • 仅支持Android 4.2及以上版本。

  • 仅支持4G及以上通信网络。

  • 仅支持Framwork 4.0及以上版本。下载:Framwork最新版

示例代码

样例代码中的信息需要与文档中的信息保持一致。包括但不限于:SDK包及其依赖文件的版本号;添加代码段的位置说明等。

接入说明

如操作步骤较长,细节繁密,可进行概述说明,帮助用户理解完整的操作逻辑;同时,按步骤提前警示用户可能出现的错误,例如,依赖冲突。

接入说明操作步骤是“总-分”的关系,步骤需一一对应。

例如:

  1. 准备。下载配置文件,获取公钥。

  2. 添加依赖。可采用自动/手动2种方式添加依赖;处理倚赖冲突。

  3. 接入服务。添加SDK初始化代码。

  4. 编译设置。注意:如设置错误,可能导致编译失败。

操作步骤

操作步骤可具体细分为准备添加依赖初始化SDK<初始配置1~n>编译设置调试等。

步骤1:准备

后续操作依赖的前期准备工作,包括但不限于:下载软件包;获取配置信息等。与增加单独的操作页面,并在前提条件中索引,效果相同。

步骤2:添加依赖

如存在多种添加依赖的方式,需分别说明。例如,手动接入;自动接入等。

如存在依赖冲突场景,需说明处理办法。例如:如已添加某产品的依赖,可能出现依赖冲突,具体解决办法参见:依赖冲突解决办法

步骤3:初始化SDK

提供样例代码段,及配置说明。

步骤4:<初始配置1~n>

如存在初始配置项,需逐一进行说明。每步骤实现一个配置。例如,混淆配置;安全配置等。

步骤5:编译设置

如对编译设置有要求,需进行说明。

步骤6:调试

如调试阶段对排查错误有可借鉴的经验,可进行说明。

初始值说明

如系统提供默认的初始值,可进行说明。

接入验证

验证业务是否成功接入。需充分考虑:

  • 端侧/服务侧业务流程;

  • 端侧/服务侧可能出现的错误;

  • 充分考虑端侧/服务侧的错误排查方法;

形成一系列操作/判断,帮助用户定位/解决问题。

03

写作要点

补充说明/注意

基于已有用户反馈/问题,在相应位置补充必要说明/警示,帮助用户避免此类问题。

明确操作目的

操作说明需明确操作动作,以及操作目的。

错误:添加以下代码段。

正确:添加代码段,定义Application类,编写OnCreate方法启动服务。

区分指定/设置

配置项说明需区分指定和设置。

1)指定:配置项/参数为既有信息,需说明如何获取。

2)设置:配置项/参数为初次设置,需说明如何配置。

配置说明需充分考虑接口定义,并尽可能包含以下信息:

数据类型

区分数值型/字符型/枚举型/对象/JSON

取值范围

字符串长度限制;数组大小限制;数值大小限制等。

是否必选


能否为空


默认取值

如数据类型为枚举型,是否一般设置默认取值?

字符类型

如数据类型为字符串,需说明是否支持英文大小写、中文、数字、特殊字符等。

唯一标识

配置项/参数是否为键值。

大小写敏感

如配置项/参数是唯一标识,是否大小写敏感。

格式要求

如字符串需满足指定格式,需说明。

其他

如配置项/参数倚赖其他配置项/参数;或者配置项/参数对其他配置项/参数有影响,需说明。

说明复杂概念

如配置中存在复杂概念及逻辑,需说明;或指导用户查看相关说明。

明确操作路径

包括但不限于:日志在哪里获取;操作所使用的工具和界面等。

错误:查看错误日志。

正确:在手机端的/path路径下,查看错误日志error.log。

错误:执行display error命令,查看错误信息。

正确:使用某工具,打开某页面,输入display error命令,查看错误信息。

04

结论

在云服务场景下,质量过硬的SDK文档,既是产品实力的体现,同时也能满足更多用户的接入,最终实现产品价值。

猜你喜欢:

实施:GitHub + MarkDown 文档系统的工作环境部署及工作流程说明 | 技术传播

技术传播是一片蓝海 | 技术传播

访谈:TC无处不在,只是我们没有发觉 | 技术传播

这次他们说好要“讲真的” | 传播

在座都别吵了,你们还有我 | 技术传播

一本培养强迫症患者的说明书 | 技术传播

就像用心做好日本料理 | 技术传播

微信公众号内容策划基本思路 | 品牌传播

顽固的老头子与无聊的说明书 | 技术传播

转战新媒体 | 技术传播

评测:王者荣耀的用户帮助系统 | 技术传播

让爸爸妈妈也能享受到科技发展带来的便利 | 技术传播

企业级信息管理系统初创方案构思 | 技术传播

 

睿齐

技术传播从业者

品牌内容策划

自由摄影师

自由撰稿人

汪力迪

公众号:techcomm / htstory

微信号:bgrichi

邮箱:hash_0813@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值