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

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

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

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

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

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

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

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


更多文章
  • 有GitHub Copilot?那就可以搭建你的ChatGPT4服务
  • 窗口函数的使用(以PG为例)
  • 读《为什么学生不喜欢上学》
  • OpenAI Prompt Engineering 摘录和总结
  • 读《打造真正的新产品》
  • 2023年终总结
  • VueJS 总结
  • Linux 自动挂载 alist 提供的webdav
  • FreeBSD 使用 vm-bhyve 安装Debian虚拟机
  • FreeBSD 和 Linux 网卡聚合实现提速
  • GPT 帮我搞定了时区转换问题
  • 长任务系统如何处理?
  • macOS/Linux 编译 InputLeap
  • 使用开源软KVM - synergy-core
  • 解决 macOS 终端hostname一直变化问题