关于开发者:MobLink-Android端业务场景简单说明

本文意在提供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;

// 申请场景ID
MobLink.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);
   }
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理