阅读 358

Android: MobLink SDK的集成与使用

Android: MobLink SDK的集成与使用

​ 集成文档:www.mob.com/wiki/detail…

1.集成准备
注册应用,需要appId 与appkey
复制代码
2.集成配置
第一步:项目的更目录build.gradle 配置
buildscript {
    repositories {
        ...
    }

    dependencies {
        ...
        classpath 'com.mob.sdk:MobSDK:2018.0319.1724'
    }
}
复制代码
第二步:项目的app模块的build.gradle配置
// 添加插件
apply plugin: 'com.mob.sdk'

// 在MobSDK的扩展中注册MobLink的相关信息
MobSDK {
    appKey "d580ad56b4b5"
    appSecret "7fcae59a62342e7e2759e9e397c82bdd"
    MobLink {
        uriScheme "您后台配置的scheme"
        appLinkHost "您后台开启AppLink时生成的Host"
    }
}
复制代码

​ 这样就集成完毕,重新build即可。

3.集成使用

​ 场景监听

//Java代码
class SceneListener extends Object implements RestoreSceneListener {
   @Override
   public Class<? extends Activity> willRestoreScene(Scene scene) {

      return MainActivity;
   }
   @Override
   public void notFoundScene(Scene scene) {
       //TODO 未找到处理scene的activity时回调
   }
   @Override
   public void completeRestore(Scene scene) {
      // TODO 在"拉起"处理场景的Activity之后调用
   }
}
复制代码
设置监听,建议放到Application中
复制代码
//java代码
MobSDK.init(this);
MobLink.setRestoreSceneListener(new SceneListener());
复制代码
4.tomcat 部署分享H5

​ 使用MobLink的js,调起app

4.1MobLink的H5参数传递
  • MobLink 支持数组=>MobLink([...]) 和对象=>MobLink({...})

  • 页面上有多个元素需要跳转时使用数组方式,仅单个元素时可以使用对象的方式进行初始化

  • el: 表示网页上Element的id值,该字段为空或者不写则表示MobLink默认浮层上的打开按钮(注意:必须为元素id,以#开头)

  • path: 对应App里的路径

  • params: 网页需要带给客户端的参数

4.2 android的H5参数接收与处理

​ android使用SceneListener监听h5的参数,根据路径与参数跳转到相对应的android页面,Scene类与js的传参是对应的,从而实现场景还原。

public class Scene implements PublicMemberKeeper, Serializable {
    public String path;
    public HashMap<String, Object> params;

    public Scene() {
    }

    public String getPath() {
        return this.path;
    }

    public void setPath(String var1) {
        this.path = var1;
    }

    public HashMap<String, Object> getParams() {
        return this.params;
    }

    public void setParams(HashMap<String, Object> var1) {
        this.params = var1;
    }
}
复制代码

5.存在问题
  1. 微信不能直接调起app,需要通过浏览器调起
  2. 用户邀请拉新的记录需要自己处理(Mob没有相关支持)
6.集成过程中的问题:

Could not GET 'jcenter.bintray.com/com/mob/sdk…'. Received status code 400 from server: Bad Request

解决办法:
/Users/admin/.gradle/gradle.properties 去掉错误的代理:

systemProp.https.proxyPort=80

systemProp.http.proxyHost=mirrors.neusoft.edu.cn

systemProp.https.proxyHost=mirrors.neusoft.edu.cn

systemProp.http.proxyPort=80

关注下面的标签,发现更多相似文章
评论