广电云 JSBridge & SDK 集成说明
Version: 1.2.0
该文档主要分两部分介绍:
1、广电云bridge V2版本简要说明
2、广电云sdk V2版本所提供的业务能力
该项技术的主要应用场景:
为打通广电云H5端与客户端的一些功能交互,让客户端可以捕获一些用户操作,定制一些数据埋点或响应不同的业务流程,提供双方通信的能力。
保留js关键字: _gdyBridge、_gdyJsApi
GdyJsBridge2
简介
V2版本后,我们给客户端提供了资源包,无需引入额外的js资源和自己实现通信接收的部分,方便开发者快速集成,在集成之前,请详细阅读集成引导和实践用例,文档内不再对Bridge部分进行额外的说明。
GdySdk2
H5在页面加载时会自行判断广电云bridge的集成与否,来决定是否继续挂载sdk方法
H5端调用客户端
客户端需先使用webView.register注册方法,用户在H5端进行操作时会通过bridge调用客户端注册的方法,即可进行对应业务处理
方法名 | 参数说明 | 操作说明 | 备注 | 支持模块 |
---|---|---|---|---|
userOperate | 接收结构体如 {type: “xxxx”},type有两种类型comment(聊天)、like(点赞) | 用户互动操作(目前支持参与聊天、点赞) | 现场直播、电台直播、图文直播、电视直播 | |
loginRequest | 无 | 用户登录操作 | 在未打开受限模式下,触发登录同时会执行URL跳转,受限模式打开则不跳转 | 现场直播、电台直播、图文直播、电视直播、新版聚合页 |
logoutRequest | 接收结构体{backUrl: “xxxx”},backUrl为页面跳转地址 返回参数data中disableJumpBackUrl字段控制个人中心是否自动跳转 | 用户登出操作 | 在未打开受限模式下,沿用以前逻辑 | 个人中心 |
在 JAVA 中以 loginRequest 为例
webView.register("loginRequest", () -> {
// do something
});
客户端调用H5端
客户端可使用webView.callJsFunction调用方法,在符合正常的集成环境里,H5端会在合适的加载过程中注册可供客户端调用的方法,之后响应正常流程
方法名 | 参数说明 | 说明 | 支持模块 |
---|---|---|---|
onTokenInject | 传入结构体如{ token: “xxxx”} | Token 注入,无刷新登录 | 现场直播、电台直播、图文直播、电视直播、新版聚合页 |
onLimitedMode | 传入boolean值,true/false,不传值默认使用true | 调用该方法,传入true将开启页面受限模式,受限模式下触发登录不执行 URL 跳转;传入false将关闭受限模式,受限模式关闭的情况下,将执行与web端一致的登录逻辑。受限模式状态将持续保存在cookie中,即全平台生效,因此在本平台的不同应用中设置一次即可,如遇到A应用中需要限制默认登录(即使用APP等客户端登录),而B应用中需要使用默认登录,则对接方需要在用户触发A应用的登录前打开受限模式,在用户进入B应用后手动关闭受限模式。 | 现场直播、电台直播、图文直播、电视直播、新版聚合页 |
在 JAVA 中以 onTokenInject 为例
JSONObject object = new JSONObject();
object.put("token", "xxxx");
Object[] args = {object};
webView.callJsFunction("onTokenInject", args, () -> {
// do something
});
常见问题
v2版本上线后,v1版本会下线吗?
v1版本暂时不会下线,我们将保持一定的时间让v2和v1版本共存,但是v1版本目前进入停止维护阶段,未来我们仅在v2版本的sdk中开放更多能力,烦请优先集成v2版本,v1版本的用户也可以逐渐迁移至v2版本。另外v1中我们需要自己把js注入客户端,在v2中不用有这方面的负担。
bridge和sdk是什么关系?
bridge提供给我们通信的能力,sdk提供给我们业务交互的能力,两者的关系如同桥和桥上的人。