1. 注册申请账号
官网地址:[https://www.mob.com](https://www.mob.com/)
2. 配置相关key
在项目根目录/app/build.gradle 中添加
// 在MobSDK的扩展中注册MobLink的相关信息
apply plugin: "com.mob.sdk"
MobSDK {
appKey "2df18423456ac"
appSecret "2787989dcf345633563717844"
MobLink {
uriScheme "vesal://jiep"
appLinkHost "ayjg.t4m.cn"
}
}
3. 引入依赖, 在根目录下/build.gradle 中添加 classpath 'com.mob.sdk:MobSDK:2018.0319.1724'
4.创建场景还原监听文件
package com.ruanyikeji.vesal.vesal.module.utils;
import android.app.Activity;
import android.nfc.Tag;
import android.util.Log;
import com.mob.moblink.ActionListener;
import com.mob.moblink.MobLink;
import com.mob.moblink.Scene;
import com.mob.moblink.RestoreSceneListener;
import com.ruanyikeji.vesal.vesal.MainActivity;
//Java代码
public class SceneListener extends Object implements RestoreSceneListener {
@Override
public Class<? extends Activity> willRestoreScene(Scene scene) {
Log.i("moblinkTest","将要处理回调 willRestoreScene"+scene.getParams().toString());
return null;
}
@Override
public void notFoundScene(Scene scene) {
//TODO 未找到处理scene的activity时回调
Log.i("moblinkTest","未找到处理scene的activity时回调"+scene.getParams().toString());
}
@Override
public void completeRestore(Scene scene) {
// TODO 在"拉起"处理场景的Activity之后调用
Log.i("moblinkTest","在拉起处理场景的Activity之后调用"+scene.getParams().toString());
}
}
5.在MainApplication初始化创建好的监听
//java代码
MobLink.setRestoreSceneListener(new SceneListener());
6.在需要的activity 中实现接口SceneRestorable
7. 覆盖接口的两个方法
@Override
public void onReturnSceneData(Scene scene) {
// 处理场景还原数据, 可以在这里做更新画面等操作
System.out.println("moblinkTest 处理场景还原数据:"+scene.getParams().toString());
this.showDialog(scene.getParams().toString());
}
@Override
// 必须重写该方法,防止MobLink在某些情景下无法还原
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
MobLink.updateNewIntent(getIntent(), this);
}
8. 集成完毕 ,如果需要获取MobId, 可参考如下方法
public void getMobId() {
System.out.println("getMobId:");
Scene s = new Scene();
s.setPath("vesal/main");
MobLink.getMobID(s, new ActionListener<String>() {
@Override
public void onResult(String mobID) {
System.out.println("getMobId mobID:" + mobID);
}
@Override
public void onError(Throwable t){
t.printStackTrace();
System.out.println(" getMobId mobID:ERROR");
}
});
}