先了解连接另一端的系统
要可靠估算,仅知道平台名称还不够。我们需要了解公开或提供的接口文档、测试环境、访问要求,以及应用必须完成的操作。
连接有正式 API 的系统,与连接没有合适接口的系统,是两种不同的工作。文档、账户权限或后端能力的缺口应在开工前确认。
我们只使用获授权的访问与受支持的集成方式。定制移动应用不会免除第三方许可、用量或访问规则。
可以界定哪些集成工作?
账户与授权请求
实现目标系统支持的登录及授权流程,并规定会话过期、权限被撤销或用户无权操作时的行为。
业务数据与同步
连接客户记录、工单、库存或其他约定数据。确定各记录的归属系统,以及冲突或未完成更新如何处理。
第三方 SDK
集成有文档的厂商库,评估其配置及兼容要求,并确认它给应用增加什么行为。用了 SDK,仍需检查其权限与数据处理方式。
通知、上传与事务流程
规划完整用户路径:启动、进行中、确认与失败恢复。文件上传不同于只读查询;会修改数据的请求,更不能不加判断地重复发送。
Flutter 项目的原生集成
Flutter 项目若依赖仅支持 Android 的 SDK,需要评估原生实现及它与 Dart 层的接口。共享移动产品的整体开发请看 Flutter 开发。
让失败也能被理解
好的集成应让用户知道发生了什么、接下来能做什么,而不是一出错就只剩空白页。
| 情况 | 需要定义的行为 |
|---|---|
| 网络不可用。 | 说明哪些操作受阻,以及是否能在本地保存工作。 |
| 登录会话已过期。 | 通过受支持的验证流程恢复,尽量保留用户已输入内容。 |
| 服务拒绝请求。 | 给出合适提示,并保留足够的诊断线索。 |
| 修改数据的请求超时。 | 安全确认结果后,再决定是否重试,避免重复操作。 |
| 供应商修改响应或 SDK。 | 标明兼容性假设及可能需要的维护。 |
这些决定属于集成需求的一部分。具体实现取决于 API 与后端,不只取决于 Android 应用。
明确凭据与责任归属
移动应用不是隐藏服务器管理员凭据的合适位置。高权限操作可能需要由具备适当权限范围的后端组件承担。
我们会区分哪些配置属于应用、哪些操作应留在服务器,以及谁管理相关账户。初次咨询请提供文档链接和所需流程说明,不要发送生产令牌或密码。
除非方案明确包含,否则后端改造、管理面板与持续服务费用应单独界定。
有用的交接资料包括什么?
根据项目,交付物可能包括实现改动、配置说明、字段映射、已记录的假设,以及关键成功和失败场景的检查。
若供应商提供测试环境,应在合适的条件下使用,并记录环境及支持版本,而不是宣称一次测试就覆盖供应商未来的所有变化。
围绕集成开发完整应用,请看 定制 Android 应用开发;连接实体设备,请看 Android 设备集成。
常见问题
能把 Android 应用连接到我们的 CRM 或网站吗?
有可能。请提供平台名称、需要实现的操作,以及可公开分享的 API 文档。我们需要确认所需接口和权限确实可用。
还需要后端访问权限吗?
视集成而定。有的项目可直接使用现有 API;有的需要服务器改动、凭据或由你的后端团队管理的配置。
能集成私有厂商 SDK 吗?
可以,但须有适当访问和许可。我们需要文档、支持环境,以及无需公开敏感信息也能测试的方法。
集成能离线工作吗?
部分数据和操作可以为离线场景设计。范围必须写明哪些内容可缓存、哪些操作可排队,以及如何合并变化。
已有集成出问题,可以修吗?
可以。说明失败的操作及发生时机。先做有针对性的 应用故障排查 可能最合适。
说清楚应用要连接什么
提供应用、服务或 SDK 的名称,以及用户要完成的操作;如有文档链接,也请一并附上。