场景简介

  1. 由于目前SDK免密接口是同步的,给用户返回成功时, 只是表示当前SDK的满足可以免密的条件, 真正免密认证是SDK内部异步发起的, 部分集成开发者希望获取到SDK内部免密成功或失败的事件以便给出自定义的交互提示
  2. 当前认证成功后, 部分集成开发者希望获取到SDK和代理服务器的连接/断开情况, 以便给出自定义的交互提示

基于以上两个需求, SDK提供了事件回调接口, 支持回调通知以下4类事件

1) 由于网络问题导致的内部免密失败事件, 该事件发生时内部还是会一直重试免密直到成功

2) 内部免密成功事件

3) 与代理服务器断开连接事件

4) 与代理服务器连接成功事件

前置步骤

  1. 在实际集成之前,我们要确保已经进行过开发准备

集成步骤

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

接口描述

设置事件监听回调对象,调用认证接口前设置该接口

注意事项

  1. 参数如果为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 通知事件类型

results matching ""

    No results matching ""