乐趣区

关于android:MobTech-MobLink小程序网页跳转App的原理

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

MobLink 的性能架构

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

从图中能够看出,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 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 参数互传,扩充推广范畴和成果。
  • 主动关系匹配,用户无需填写邀请码,优化体验,进步转化率;开发人员也无需开发、保护关系匹配零碎,节俭开发成本。
  • 实时追踪新装置(或新注册用户)起源,继续监控、评估渠道品质,协同优化调整产品经营方向。
退出移动版