3.4.0安卓端技术文档

3.4.0技术评审

1 首页内容运营&记一笔之后的定投页面展示

1.1 需求概述

首页展示运营资源位,以及新老用户在记一笔之后的浮层展示

1.2 需求描述
  • 在用户首次进入到账本首页,切换到新账本,或由其他页面返回到当前账本首页时,在首页固定位置通过浮层/浮标的形式展示后台配置的运营消息。
  • 新用户在完成记一笔之后,回到首页展示《账户安全险》浮窗
  • 老用户在完成记一笔之后,回到首页展示《出行意外险》浮窗
  • 浮层/浮标支持H5和原生两种方式进行跳转
1.3 业务处理流程
  • 在首次进入账本首页,切换到其他账本首页,或者由其他页面返回到账本首页时,根据当前用户的id,sheetId,以及对应的lastUpdateTime数据,请求运营列表数据。
  • 后台根据客户端上报的usrId,判断出用户所在的群组,再根据lastUpdateTime和账本sheetId,来返回给客户端运营列表数据。
  • 需考虑到游客模式下,用户userId为null的场景。应返回该账本下通用群组的运营消息列表
  • 客户端不考虑离线存储到本地的场景,只需要把服务器返回的运营列表数据缓存到内存,根据已读状态表过滤出未读的消息,进行页面展示即可。
  • 在浮层/浮标展示前判断,当前系统时间是否在运营消息的有效时间内,没有则不展示该条消息。
  • 一次只展示一条运营消息,用户触发close或者跳转时才消失;
  • 记一笔之后返回账本首页,优先展示新老用户的定投浮层
1.4 数据库设计
1.4.1 本地消息状态表 table_message_notice_status
名称 类型 是否必填 描述
_id long 数据库表记录id
userId long 用户id,考虑到游客模式的场景下为null
messageId long 消息唯一id
isRead int 已读未读标识 0:未读 1:已读
1.5 请求接口设计
1.5.1 查询运营内容列表
url action 描述
/xxx/xx Post 根据账本id和最后更新时间查询运营内容列表数据
请求参数
名称 类型 是否必填 描述
userId long 用户id
sheetId long 账本id
lastUpdateTime long 上一次请求接口返回的服务器更新时间
platform String 平台id
versionName String 应用版本号
packageName String 应用包名
响应字段
名称 类型 是否必填 描述
sheetId long 请求的账本id
lastUpdateTime long 服务端最后更新的时间
floatLayer OperateData 浮层活动数据
floatIcon OperateData 浮标活动数据
floatAfterRecord OperateData 用户记一笔之后的显示浮层列表,新老用户由后台根据id判断
字段描述
名称 类型 是否必填 描述
OperateData json - 通用的运营数据对象模版
OperateData.id long 运营内容唯一id
OperateData.displayType int 展示类型 0:文本 1:图片url
OperateData.title String 运营标题
OperateData.titleColor String 运营标题颜色
OperateData.content String 运营内容,支持html展示
OperateData.contentColor String 运营内容颜色
OperateData.bgColor String 运营背景颜色
OperateData.contentImgUrl String 运营内容区域图片url
OperateData.imgUrl String 运营背景填充图片,用于支持图片类型下的背景填充
OperateData.btnVisible int 运营区域是否展示按钮 0:不展示 1:展示
OperateData.btnText String 运营内容底部按钮文案
OperateData.btnTextColor String 内容底部按钮文案颜色
OperateData.btnBgColor String 内容底部按钮背景颜色
OperateData.linkType int 点击button或者可视区域之后的事件响应类型 0:h5 1:native
OperateData.linkUrl String 点击button或者可视区域之后的事件响应url,跳转原生需要配置schema
OperateData.startTime long 运营内容有效起始时间
OperateData.endTime long 运营内容有效截止时间
OperateData.displayTime long 运营内容展示时间
OperateData.needLogin int 跳转前是否要求用户登录 0:不要求 1:要求
错误码描述
错误吗 描述
200 接口请求成功
400 Bad Request
401 Unauthorized
404 Not Found
500 Server Error
1.6 UI展示:
  • 首页浮层 以弹框形式展现
    * 固定位置、尺寸,具体由给定的设计图决定
    * 背景支持纯色或者图片全填充展示
    * 按钮文案/颜色可配
    * 背景填充图片支持url
  • 首页浮标 以ImageView形式浮动展示
    * 展示位置客户端固定,不支持后台配置
    * 大小根据图片自适应
    * 展示期间不支持手动隐藏
    * 根据展示时间进行自动隐藏
1.7 事件响应
  • 浮层
    * close按钮事件:用户点击关闭浮层,根据当前用户id,查找到状态表中对应记录,设置isRead为1
    * 浮层可视区域点击事件:根据运营消息的跳转字段标识,判断是否跳转H5显示页面,还是原生页面,需和ios/后台定好schema规则
  • 浮标
    * 浮标控件点击:根据跳转标识,决定跳H5还是原生
    * 浮标隐藏:根据当前用户id和operateId,查找到状态表中对应记录,设置isRead为1

2 首页增加收支建议

2.1 需求概述

在用户登录的前提下,在账单首页的列表上方区域展示投资建议,由后台根据用户的账单记录、收支情况进行数据分析,产生收支建议列表进行下发。

2.2 需求描述
  • 在用户登录的前提下,账本首页根据后台下发的收支建议数据进行逐条展示
  • 收支建议点击支持H5和原生页面跳转
  • 游客模式下不显示收支建议
2.3 业务处理流程
  • 应用切换到前台时,如果当前用户已经登录,根据userId,及对应接口的lastUpdateTime(内存),访问后台获取收支建议列表数据,返回数据包含当前用户所有账本下的收支建议数据。
  • 收支建议不考虑客户端的离线存储,收支建议数据缓存在内存当中,本地数据库只保存该条消息的已读状态。
  • 当用户切换到账本首页时,根据当前账本sheetId,本地通知状态表中的已读状态进行过滤,获取到待显示收支建议列表。
  • 展示前判断当前手机系统时间是否在消息的有效时间之内,不在则不展示。
  • 逐条展示收支建议,如果存在多条待展示的消息,用户在close当前建议或当前建议 展示时间超过消息的displayTime时,自动展示下一条。最后一条需要用户手动触发隐藏,隐藏的消息本地设置状态为已读。
2.4 数据库设计
2.4.1 本地消息状态表 同1.4.1中设计的表
2.5 请求接口设计
2.5.1 查询当前用户所有账本下的收支建议列表
url action 描述
/xxx/xx Post 根据用户userId和最后更新时间获取用户收支建议列表数据
请求参数
名称 类型 是否必填 描述
userId long 用户id
lastUpdateTime long 上一次请求接口返回的服务器更新时间,没有则不传
platform String 平台id
versionName String 应用版本号
packageName String 应用包名
响应字段
名称 类型 是否必填 描述
userId long 用户id
lastUpdateTime long 服务器最后更新时间
sheetSuggestList List 以账单为维度的收支建议列表
字段描述
名称 类型 是否必填 描述
SheetSuggest json - 账本维度下的收支建议对象模版
sheetId long 账本id
sheetImageUrl String 该账本下收支建议展示logo的url,没有则用客户端默认图片
sheetBkgColor String 该账本下收支建议的背景颜色
suggestList List 收支建议列表数据
名称 类型 是否必填 描述
Suggest json - 收支建议数据对象模版
Suggest.id long 收支建议数据唯一id
Suggest.title String 利益点文案
Suggest.titleColor String 利益点文案颜色
Suggest.content String 行动点文案
Suggest.contentColor String 行动点文案颜色
Suggest.linkType int 可视视图点击事件响应类型 0:H5 1:native
Suggest.link String 可视视图点击事件响应url,跳转原生需定义好schema
Suggest.startTime long 收支建议有效起始时间
Suggest.endTime long 收支建议有效结束时间
Suggest.displayTime long 收支建议展示时长
2.6 UI展示
  • 收支建议
    * 展示在账本首页列表区域的上方
    * 背景/logo支持后台配置,图片大小固定且全填充展示
    * title和content文案和颜色支持后台配置
    * 高度自适应
    * 多条收支建议切换有动效,由交互给出视觉稿
2.6 事件响应
  • close按钮事件:用户关闭当前收支建议,设置已读状态为1。如果有下一条则显示下一条,没有则隐藏控件
  • 控件的非close区域:根据跳转标识linkType,决定跳H5还是原生
  • 自动隐藏:需设置已读状态为1

3 增加常见问题入口

3.1 需求概述

在设置的意见反馈页面的顶部增加常见问题的页面入口

3.2 需求描述
  • 隐藏关于我们页面中的常见问题
  • 将常见问题的页面入口移到意见反馈的上方
  • 主要是UI上的调整,需要等新的UI设计稿

4 游客模式下记账,弹窗提示用户进行注册

4.1 需求概述

游客模式下,当用户记账达到一定次数时,进行引导注册的弹窗提示

4.2 业务处理流程
  • 游客模式下,当用户完成记一笔回到账本首页时,根据当前账单的记录数进行弹窗判断,当记录数超过5次、15次、30次时,各提示一次,总共提示3次。
  • 规则由客户端定义,不支持后台下发
  • 客户端本地保存已经进行提示的次数表示registPromtCount,当满足提示条件时,registPromtCount+1保存,值超过3时不提示,用户重新切换到游客模式下时,清空registPromtCount字段,重新执行注册弹窗判断
  • 用户点击关闭按钮,registPromtCount赋值为3,不再进行展示
4.3 UI展示
  • 不涉及后台动态配置,开发时参考UI视觉稿
4.4 事件触发
  • close按钮click事件:关闭对话框,registPromtCount赋值3
  • 弹窗按钮click事件:跳转注册页面
  • 可视区域以外click事件:隐藏对话框

5 多账户混淆问题优化

5.1 需求概述

三方登录的场景下,当用户记账达到一定次数时,进行引导绑定手机号的弹窗提示

5.2 业务处理流程
  • 三方登录模式下,当用户完成记一笔回到账本首页时,根据当前账单的记录数进行弹窗判断,当记录数超过5次、15次、30次时,各提示一次,总共提示3次。
  • 客户端本地保存已经进行提示的次数表示bindPromtCount,当满足提示条件时,bindPromtCount +1保存,值超过3时不提示
  • 用户点击关闭按钮,bindPromtCount赋值为3,不再进行展示
  • 用户切换到三方登录模式时,清空bindPromtCount值
5.3 UI展示
  • 不涉及后台动态配置,开发时参考UI视觉稿
5.4 事件触发
  • close按钮click事件:关闭对话框,bindPromtCount赋值3
  • 弹窗按钮click事件:跳转手机绑定页面
  • 可视区域以外click事件:隐藏对话框

6 记账提醒优化

6.1 需求描述
  • 每日记账提醒由客户端在用户设定时间,准时发出
  • 提醒的前台展示、交互方式,不做修改
  • 每日提醒的文案,由服务端配置,方便运营。 本地默认文案【今日开支,今日记哦】

你可能感兴趣的:(3.4.0安卓端技术文档)