场景简介
- 由于目前SDK免密接口是同步的,给用户返回成功时, 只是表示当前SDK的满足可以免密的条件, 真正免密认证是SDK内部异步发起的, 部分集成开发者希望获取到SDK内部免密成功或失败的事件以便给出自定义的交互提示
- 当前认证成功后, 部分集成开发者希望获取到SDK和代理服务器的连接/断开情况, 以便给出自定义的交互提示
基于以上两个需求, SDK提供了事件回调接口, 支持回调通知以下4类事件
1) 由于网络问题导致的内部免密失败事件, 该事件发生时内部还是会一直重试免密直到成功
2) 内部免密成功事件
3) 与代理服务器断开连接事件
4) 与代理服务器连接成功事件
前置步骤
- 在实际集成之前,我们要确保已经进行过开发准备
集成步骤
1、实现用户名密码主认证
参考典型场景用户名密码认证
2、设置事件监听回调
示例代码如下:
/**
* 注册事件通知回调
*/
SFUemSDK.getInstance().setGenericNotificationListener(new SFGenericNotificationListener() {
@Override
public void onNotify(SFGenericNotification notification) {
SFLogN.info(TAG, "onNotify called: " + notification);
switch (notification.mNotificationType) {
case SFNotificaitonTypeTicketAuthFailed:
//处理免密认证失败事件
break;
case SFNotificaitonTypeTicketAuthSuccess:
//处理免密认证成功事件
break;
case SFNotificaitonTypeDisconnectFromProxy:
//处理和代理服务器断开连接事件
break;
case SFNotificaitonTypeConnectedToProxy:
//处理和代理服务器恢复连接事件
break;
default:
break;
}
}
});
setGenericNotificationListener
接口描述
设置事件监听回调对象,调用认证接口前设置该接口
注意事项
- 参数如果为null,则代表清除回调
接口定义
public void setGenericNotificationListener(final SFGenericNotificationListener listener);
参数说明
表1 参数说明
参数 | 是否必须 | 类型 | 描述 |
---|---|---|---|
listener | 是 | SFGenericNotificationListener | 事件通知接口回调 |
返回值
无
SFGenericNotification
类描述
回调事件通知对象,包含通知的类型, 信息
类定义
public class SFGenericNotification {
/**
* 错误码
*/
public long mCode;
/**
* 提示信息
*/
public String mMsg;
/**
* 通知类型
*/
public SFNotificationType mNotificationType;
}
类成员描述
类成员 | 类型 | 说明 |
---|---|---|
mCode | long | 目前为0 |
mMsg | String | 提示信息 |
mNotificationType | String | 通知事件类型 |