本文意在提供MobLink的业务场景应用阐明心愿能够给你带来更欢快的开发情绪:

MobLink的性能实现就是在分享前会将链接的参数信息保留到服务器,分享者A通过微信、QQ等分享给他的好友B时,好友B关上链接,点击页面的“在app中关上”,网页中的js会尝试关上对应的APP。如果关上失败,js会把以后设施的信息缓存到咱们的服务器,而后跳转app下载页面。前面app装置并启动,咱们的sdk就会跟服务器申请缓存的参数,于是app就能够获取到链接设置的参数信息,如果js关上胜利了,js会本人把页面中缓存的参数传递给app,app同样能够获取到链接设置的参数信息.如无码邀请,能够绑定传递参数,倡议为uid,A分享给B,B注册后主动绑定A的uid。

参数设置

在App 中分享商品/内容/流动页面时,将您须要的参数信息增加到分享的链接中。

通过网页端的params间接设置参数信息

<script type="text/javascript" src="//1p.t4m.cn/applink.js"></script>/** MobLink 反对数组=>MobLink([...]) 和对象=>MobLink({...}) 两种初始化模式* 页面上有多个元素须要跳转时应用数组形式,仅单个元素须要跳转时能够应用对象的形式进行初始化* el: 示意网页上Element的id值,该字段为空或者不写,则示意MobLink **默认浮层** 上的关上按钮(留神:该字段反对selector形式: 1.'.class' 2.'#id1' 3.['#id1','#id2'])* path: 对应App里须要复原页面的门路* params: 网页须要带给客户端的参数*/// 页面上仅单个元素须要跳转时能够应用对象形式进行初始化MobLink({ el: '', path: 'demo/a', params: {     key1: 'value1',     key2: 'value2', }})// 页面上有多个元素须要跳转时要应用数组形式进行初始化MobLink([ {     el: '',     path: 'demo/a',     params: {         key1: 'value1',         key2: 'value2',     } }, {     el: '#openAppBtn1',     path: 'demo/b',     params: {         key1: 'value1',         key2: 'value2',     } }, {     el: '#openAppBtn2',     path: 'demo/c',     params: {         key1: 'value1',         key2: 'value2',     } }]);</script>

通过客户端的接口设置参数信息

通过getMobID接口生成MobId,并把mobid拼接在您的场景还原链接前面.

eg:http://f.moblink.mob.com/pro/scene/novel?id=1&mobid=1467308004604772352

//java代码// 设置场景参数HashMap senceParams = new HashMap();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 处理错误后果    }});

参数获取
在指定跳转的页面通过SceneRestorable接口获取链接中设置的的参数信息,您能够用这些参数做一下逻辑判断,实现您需要的性能,如多样化跳转,无码邀请,起源可追溯等性能

//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);   }}