从不同的渠道,如小程序、二维码、网页等,直接跳转到App内对应的页面,并传递相关的参数信息,已经由移动还原解决方案MobLink实现了。本文将详细介绍多样化跳转技术的原理。
MobLink的功能架构
MobLink的功能架构如下图所示:
从图中可以看出,MobLink主要涉及三个部分:客户端、服务器和网页。客户端是指集成了MobLink SDK的App,服务器是指MobLink提供的云端服务,网页是指嵌入了MobLink JS的HTML页面。客户端、服务器和网页之间通过HTTP协议进行通信,传递场景参数和设备信息。
MobLink的实现原理
1. 设置场景参数
在App中分享商品/内容/活动页面时,需要将需要跳转到App内的页面和参数信息添加到分享的链接中。这可以通过两种方式实现:
-
通过网页端的params直接设置参数信息,例如:
-
通过客户端的接口设置参数信息,例如:
//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;// 请求场景IDMobLink.getMobID(s, new ActionListener() { public void onResult(String mobID) { // TODO 根据mobID进行分享等操作 } public void onError(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参数互传,扩大推广范围和效果。
-
自动关系匹配,用户无需填写邀请码,优化体验,提高转化率;开发人员也无需开发、维护关系匹配系统,节省开发成本。
-
实时追踪新安装(或新注册用户)来源,持续监控、评估渠道质量,协同优化调整产品运营方向。