场景简介

  1. 由于目前 SDK 免密接口是同步的,给用户返回成功时, 只是表示当前 SDK 的满足可以免密的条件, 真正免密认证是 SDK 内部异步发起的, 部分集成开发者希望获取到 SDK 内部免密成功或失败的事件以便给出自定义的交互提示
  2. 当前认证成功后, 部分集成开发者希望获取到 SDK 和代理服务器的连接/断开情况, 以便给出自定义的交互提示
  3. 使用过程中转发端口可能会发生改变,为了能正常使用rcp功能,需要在使用之前获取到正确的转发端口

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

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

  2. 内部免密成功事件

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

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

  5. 转发端口更改事件

前置步骤

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

集成步骤

1、实现用户名密码主认证

参考典型场景用户名密码认证

2、设置事件监听回调

示例代码如下:


        /**
         * 注册事件通知回调
         */
SFUemSDK.getInstance().setGenericNotificationListener(this)

    onNotify(notification: SFGenericNotification) {
    console.info(TAG, notification.toString());
    let type = notification.mNotificationType;
    if (type == 'SFNotificaitonTypeTicketAuthSuccess') {
        // 处理免密认证成功事件
    } else if (type == 'SFNotificaitonTypeTicketAuthFailed') {
        // 处理免密认证失败事件
    } else if (type == 'SFNotificaitonTypeDisconnectFromProxy') {
        // 处理和代理服务器断开连接事件
    } else if (type == 'SFNotificaitonTypeConnectedToProxy') {
        // 处理和代理服务器恢复连接事件
    } else if (type == 'SFNotificaitonTypeForwardServerPortChanged') {
        // 处理转发端口发生改变事件
    }
}

setGenericNotificationListener

接口描述

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

注意事项

  1. 参数如果为 null,则代表清除回调

接口定义

SFUemSDK.getInstance().setGenericNotificationListener(null)

参数说明

表 1 参数说明

参数 是否必须 类型 描述
listener SFGenericNotificationListener 事件通知接口回调

返回值

SFGenericNotification

类描述

回调事件通知对象,包含通知的类型, 信息

类定义

public class SFGenericNotification {

    /**
     * 错误码
     */
    public mCode: number;
    /**
     * 提示信息
     */
     public mMsg: string;
    /**
     * 通知类型
     */
    public mNotificationType: string;
}

类成员描述

类成员 类型 说明
mCode number 目前为 0
mMsg string 提示信息
mNotificationType string 通知事件类型

results matching ""

    No results matching ""