首页 > 编程语言 >MobTech MobLink|小程序、网页跳转App的原理

MobTech MobLink|小程序、网页跳转App的原理

时间:2023-05-30 18:33:07浏览次数:43  
标签:参数信息 网页 MobLink MobTech App 跳转 短链

从不同的渠道,如小程序、二维码、网页等,直接跳转到App内对应的页面,并传递相关的参数信息,已经由移动还原解决方案MobLink实现了。本文将详细介绍多样化跳转技术的原理。

MobLink的功能架构

MobLink的功能架构如下图所示:

MobTech MobLink|小程序、网页跳转App的原理_服务器

从图中可以看出,MobLink主要涉及三个部分:客户端、服务器和网页。客户端是指集成了MobLink SDK的App,服务器是指MobLink提供的云端服务,网页是指嵌入了MobLink JS的HTML页面。客户端、服务器和网页之间通过HTTP协议进行通信,传递场景参数和设备信息。

MobLink的实现原理

1. 设置场景参数

在App中分享商品/内容/活动页面时,需要将需要跳转到App内的页面和参数信息添加到分享的链接中。这可以通过两种方式实现:

  • 通过网页端的params直接设置参数信息,例如:
<script type="text/javascript" src="//1p.t4m.cn/applink.js"></script>
<script>
  // 页面上仅单个元素需要跳转时可以使用对象方式进行初始化
  MobLink({
    el: '',
    path: 'demo/a',
    params: {
      key1: 'value1',
      key2: 'value2',
    }
  })
</script>
  • 通过客户端的接口设置参数信息,例如:
//java代码
// 设置场景参数
HashMap<String, Object> senceParams = new HashMap<String, Object>();
senceParams.put("key1", "value1");
senceParams.put("key2", "value2");
senceParams.put("key3", "value3");

// 新建场景
Scene s = new Scene();
s.path = "/demo/a";
s.params = senceParams;

// 请求场景ID
MobLink.getMobID(s, new ActionListener<String>() {
    public void onResult(String mobID) {
        // TODO 根据mobID进行分享等操作
    }

    public void one rror(Throwable throwable) {
        // TODO 处理错误结果
    }
});

2. 生成短链

在设置了场景参数后,需要将参数信息发送给MobLink的服务器,并生成一个短链,如:

http://f.moblink.mob.com/pro/scene/nf9a

短链中包含了场景ID,也就是mobID,它是一个唯一标识符,用于在服务器中查询对应的场景参数。

3. 分享短链

生成短链后,就可以将短链分享给其他用户,分享到微信、QQ、微博等社交平台。用户点击短链后,会打开一个网页,网页中嵌入了MobLink JS代码。

4. 跳转到App

网页中,MobLink JS代码会根据短链中的场景ID向服务器请求对应的场景参数,并缓存到本地。同时,JS代码会尝试打开对应的App,并将参数信息传递给App。

如果打开成功,App中集成的MobLink SDK会接收到参数信息,并根据参数信息跳转到对应的页面。例如:

//java代码
public class RestoreSenceActivity extends Activity implements SceneRestorable {
    @Override
    public void onReturnSceneData(Scene scene) {
        // 处理场景还原数据, 可以在这里做更新画面等操作
    }

    @Override // 必须重写该方法,防止MobLink在某些情景下无法还原
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        MobLink.updateNewIntent(getIntent(), this);
    }
}

如果打开失败,JS代码会把当前设备的信息缓存到服务器,并跳转到App的下载页面。用户下载并安装App后,App中集成的MobLink SDK会向服务器请求缓存的设备信息和参数信息,并根据参数信息跳转到对应的页面。

MobLink的优势

MobLink实现多样化跳转有以下几个优势:

  • 实现从任何渠道和形式跳转到App内对应页面,提高用户体验和留存率。
  • 支持小程序、二维码、网页、短信等与App参数互传,扩大推广范围和效果。
  • 自动关系匹配,用户无需填写邀请码,优化体验,提高转化率;开发人员也无需开发、维护关系匹配系统,节省开发成本。
  • 实时追踪新安装(或新注册用户)来源,持续监控、评估渠道质量,协同优化调整产品运营方向。

标签:参数信息,网页,MobLink,MobTech,App,跳转,短链
From: https://blog.51cto.com/u_14192352/6381225

相关文章

  • SpringMVC-04数据处理及跳转
    SpringMVC参数接收处理和结果跳转处理1结果跳转方式1.1ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面.**页面:**{视图解析器前缀}+viewName+{视图解析器后缀}<!--视图解析器--><beanclass="org.springframework.web.servle......
  • 前端检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接)
    快速实现前端检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接);下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12652效果图如下:   实现代码如下:#使用方法####HTML代码部分```html<template><viewclass="conten......
  • 检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接)
    快速实现检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接);下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12652效果图如下:   实现代码如下:#使用方法####HTML代码部分```html<template><viewclass="content">......
  • 使用 CloudFront Functions 做域名30X跳转
    创建函数此过程向您展示如何使用CloudFront控制台创建一个将查看器重定向到不同URL并返回自定义响应标头的简单函数。在CloudFront控制台中创建函数登录AWS管理控制台并在 https://console.aws.amazon.com/cloudfront/v3/home打开CloudFront控制台.在导航窗格......
  • springboot 跳转到网页上的两种实现方式(转发与重定向详细对比)
    1.情景展示虽然现在流行的是前后端分离,后端开发与前端往往只进行数据交互,不需要参与对网页跳转的控制及网页内容的开发。但是,由服务器(后端)跳转到客户端(浏览器)或者从A服务器跳到B服务器是一项基本的能力。在项目开发中,真正遇到的时候,该如何实现?哪种实现方式更好?2.具体分析......
  • 微信小程序点击按钮进行页面跳转
    下面是wxml代码<buttontype="primary"bindtap="go">跳转到list页面</button>下面是js代码go:function(){wx.navigateTo({url:'/pages/list/list',})},......
  • 【IntelliJ IDEA】idea中的插件之一:Free Mybatis plugin跳转插件的使用(方便在Dao接口
    本文目录一、安装二、使用最近在使用一个非常好用的跳转插件,用着很顺手,效率比之前提高了很多。之前使用MyBatis框架或者是在IDEA中,发现Mapper接口和XML文件之间跳转十分的麻烦,我之前经常的操作是在Mapper接口中将接口名称复制一下,然后去查找对应的XML文件,打开后CRTL+F查找对应的xml......
  • MobTech 秒验|运营商网关取号​
    一键登录验证基于运营商数据网关取号技术,那什么是数据网关取号呢?首先我们先要搞懂什么是网关。网关是当我们想要在不同的网络之间传输和交换数据时需要用到一种网络设备。它可以根据我们要发送的数据包中的目的地址,选择最佳的路由路径,将数据包发送给下一个网关或目标主机。如果我们......
  • 开发者们:618电商团战即将开启,“抢流量”想上分,必备这三个大招 | MobTech观察
    最卷的一届“618”大促即将来袭。5月23日晚间开始,各平台陆续对外启动预售。在消费领域加速复苏,全国各地迎来“拼经济”热潮的背景下,各平台纷纷对外喊话,将打造“史上投入最大”的一届“618”。电商平台们想借年中大促漂漂亮亮地打一场“翻身仗”,却发现这场仗并不好打。据万得(Wind)数......
  • Qt+QtWebApp开发笔记(三):http服务器动态html连接跳转基础交互
    前言  网页很多时候是动态的,于是本篇文章目标实现一个简答的动态页面—页静态页面互相跳转,点击可以跳转到子页面。 Demo  下载地址  链接:https://pan.baidu.com/s/1bbhcu1XTiaJRYGRQRG5a0g?pwd=1234 HTML基本页面交换  上一篇的“HelloWorld”......