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

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

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

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

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

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

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

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


微信公众号
关注公众号,获得及时更新

更多文章
  • Go的custom import path
  • 如何挖掘二级子域名?
  • Go Module 简明教程
  • 写了一个Telegram Bot:自动化分享高质量内容
  • ArchLinux 怎么降级 package ?
  • Vim打开很慢,怎么找出最慢的插件?怎么解决?
  • 为什么我选择放弃运营微信公众号?
  • Web后端工程师进阶指南(2018)
  • How to implement fork syscall in Golang?
  • macOS ansible 遇到 rsync: --chown=www-data: unknown option
  • 关于运营的思考-运营要怎么做?
  • Python中实现单例模式的n种方式和原理
  • Golang defer中修改返回值
  • Python dataclass 源码阅读与分析
  • gRPC-gateway 源码阅读与分析