帮助与文档

> >

一、 在项目中添加SDK

i. 将MobLink-{version}.jar,MobCommons.jar,MobTools.jar添加到项目libs文件夹中。

注意:version 指SDK的版本号。MobCommons.jar与MobTools.jar是Mob 所有SDK的通用库(如果您用过ShareSDK, 那您一定不陌生)。

如下图所示:

android_lib

二、 配置AndroidMainFest.xml文件

i. 添加权限

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAG" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

ii. 添加activity的URL Scheme信息,在需要场景还原的activity中添加下面的配置:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="您的URL Scheme" />
</intent-filter>

 注意:scheme一定要写,配置的scheme必须跟后台配置的一致,否则会导致无法跳转到应用。

例如:官网Demo中添加的配置如下:

android_conf

项目中需要配置的URL Scheme是用于场景恢复时跳转到应用中的。所配置的scheme务必与后台填写的一致,参考下图:

android_url_back

 

iii. App Links支持

注意:对App Links的支持是从SDK版1.1.0开始的,如果您使用的低版本SDK请升级。这里的App Links指的是Android源深提供的App Links,不是指的FaceBook提供App Links SDK。如果您还没有了解过App Links,可参考Android官方文档:https://developer.android.com/training/app-links/index.html,若链接失效请自行搜索。

在处理App Links的Activity中增加如下配置:

<intent-filter android:autoVerify="true"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <category android:name="android.intent.category.BROWSABLE"/> 
    <data android:scheme="http" android:host="7pb6.ulml.mob.com" /> 
    <data android:scheme="https" android:host="7pb6.ulml.mob.com" /> 
</intent-filter>

这里的host是后台自动生成的,您可以从后台管理界面获取,像这样:

aaaa

三、 添加代码

i.初始化SDK, 您应该尽量早地调用此方法,以便SDK及时响应为您的app服务;另外场景还原时并不总是拉起LAUNCHER界面,所以我们强烈推荐您在Application中初始化SDK,像这样:


public class DemoApplication extends Application {

   @Override
   public void onCreate() {
      super.onCreate();
      //初始化moblink SDK
      MobLink.initSDK(this, “您的APPKEY”);
   }
}

ii.如果您不想像上面初始化SDK,您还可以这样。 在需要场景还原的界面,调用添加初始化代码,在onCreate()方法中实现SDK的初始化,并传入之前获得的APPKey,代码如下:


protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   MobLink.initSDK(this, “您的APPKEY”);
}

iii.在需要场景还原Activity设置监听器,这段代码应该放在onResume方法中,像这样:


protected void onResume() {
   super.onResume();
   MobLink.setIntentHandler(getIntent(), resumeActionListener);
   setIntent(null);
}

在监听接口的方法中,您可以处理场景还原成功或者失败的情况,通过查看API文档,我想您一定明白的,像这样:


public void onResult(HashMap<String, Object> res) {
    // 成功返回数据
    if (res != null) {

    }
}

@Override
public void onError(Throwable t) {
    // 场景数据还原失败
}

iv.当需要场景还原的activity为singleTop或singleTask的启动模式时,需要在系统回调方法onNewIntent()中将intent设置为新收到的intent,MobLink需要根据启动intent判断程序是否通过scheme启动,新增如下处理。示例代码如下:


@Override
protected void onNewIntent(Intent intent) {
   super.onNewIntent(intent);
   setIntent(intent);
}

v. 获取MobId用于分享,场景数据还原监听会根据MobId还原相关数据,代码如下:

public static void getMobID(HashMap<String, Object> params, String path, String source, ActionListener listener)
参数说明
path 本次生成的mobid所对应的Activity的唯一路径,即上述第2点中所提及的配置;对于多个不同activity的跳转,可以通过配置path来实现。在场景还原时(即在客户端还原网页内容)会根据scheme和path寻找匹配的activity。
source 来源标识,可用于在场景还原时辨别来源
params 字段类型,此时传入的字典数据,在场景还原时能够重新得到
回调值说明
mobid 生成的mobid可用于拼接到需要进行推广的链接后,例如:http://www.abc.com/?mobid=123456注意:该网站页面必须集成了JS模块的代码(下文将说明),方可实现网页-应用无缝接合。

备注:如果您的页面参数固定,则可以将获取到的这个mobid缓存起来,不用每次都去获取新的mobid以节约时间成本。

到此,最简单的MobLink就集成好了,在场景还原时,场景参数会完整的返回;您可以在设置MobLink.setInternetHandler方法的到场景参数。

四、Web快速集成

在后台找到JS引入模块,点击“复制”来复制代码内容。如下图所示:

Snip20170301_11

随后直接在页面引入文件,并且调用初始化方法。代码如下:

<script type="text/javascript" id="-moblink-js" src="//192.168.43.125:8080/moblink.js?appkey=2e6e0e5f23348"></script>
<script type="text/javascript">
    MobLink.init();
</script>

详细参数内容请参阅:Web高级功能