deeplink结合路由处理扩展App的能力

开始学习移动端开发是一个正确的选择,点了一颗新的技能树,扩展了知识和能力体系。下面是最近的关于路由处理和deeplink的感想。

通常情况下,如果想要服务端触发一些App的行为,那么我们选择的是通过某个约定的code,App检测到之后,就作出一定的响应。例如:

  • 当检测到响应为401时,我们在App端的行为可能是重新登录,如果是500,可能会发一个提示出来,这是对于所有响应体的一个处理
  • 当返回结果中,有一个字段为 code,且约定的code为多少时,则进行一些特殊的业务处理

但是,是否有办法将两者结合?也就是说,在所有的响应结果里,我们都加一个中间件来处理,这里既可以处理通用错误,也可以 处理业务错误。包括可以把一些常用的操作抽象出来,放到里面统一处理,这样子服务端就可以对App做一些控制,例如:

  • 给用户发个提示信息
  • 当用户版本过低时,给用户发一个alert
  • 当检测到用户为非安全登录时,将非安全设备下线
  • 跳转到某个特定的页面
  • … 等等

App端将这些常见操作统一写在路由处理函数里,我们称之为路由中心。同时,结合deeplink,那么应用的能力将会进一步扩展, 我们可以从网页上唤起App,比如国内很多网页,都会有一个 “在App里查看” 的按钮。

将路由处理函数和deeplink处理函数进行统一,就可以打通App和web之间的界限,比如可以直接从某一个网页唤醒App,如 用户验证邮箱/更改密码后,网页直接唤起App并且刷新用户信息,这样就不需要用户在点击验证完邮箱之后,手动去打开App,App 也不需要去轮询是否已经更改完邮箱,在用户体验上更好,减少了用户操作的步骤,更有利于用户留存。


更多文章
  • Docker CE 18.03源码阅读与分析
  • 容器时代的日志处理
  • Golang和Thrift
  • 折腾Kubernetes
  • 协程(coroutine)简介 - 什么是协程?
  • goroutine 切换的时候发生了什么?
  • Prometheus 数据类型
  • Gin源码阅读与分析
  • 如何面试-作为面试官得到的经验
  • 自己写一个容器
  • Golang(Go语言)中实现典型的fork调用
  • 软件开发之禅---大事化小,各个击破
  • 程序员的自我修养:链接,装载与库 阅读笔记
  • Redis源码阅读与分析二:双链表
  • Redis源码阅读与分析三:哈希表