场景简介

sdk提供一个接口,将会在以下事件发生时,将事件回调给app。

1、认证内部免密失败。调用sdk免密认证的接口并不是同步的,而是一个异步的,为了提高接口的响应速度,因此做了这样的设计,如果需要获取内部是否免密认证成功,可以使用本接口来获取。 2、认证内部免密成功 3、与服务端断开连接 4、与服务端恢复连接

前置步骤

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

集成步骤

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

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

2、实现 SFGenericNotifDelegate协议

举例简单实现:

/**
* 该控制器实现了SFGenericNotificationDelegate协议
*/
@interface BasicSceneViewController () <SFAuthResultDelegate, SFGenericNotificationDelegate>

@end

@implementation BasicSceneViewController

/**
* 实现方法
*/
- (void)onNotify:(SFGenericNotification *)notification {
    NSLog(@"onNotify:%ld, %@", (long)notification.notificationType, notification.msg);
    // 处理免密内部成功的事件
    if (notifContent.eventType == SFNotificaitonTypeTicketAuthFailed) {
        NSLog(@"do something...");
        // 处理免密内部失败的事件
    } eles if (notifContent.eventType == SFNotificaitonTypeTicketAuthSuccess) {
        NSLog(@"do other thing...");
    }
}

在对应的类上实现协议要求的方法,即可监听上述的四个事件。

SFGenericNotificationInfo介绍

SFGenericNotificationInfo中包括三个属性,notificationType,msg,code。

@interface SFGenericNotification : NSObject
@property (nonatomic, assign) SFNotificationType notificationType;
@property (nonatomic, copy) NSString *msg; // 提示信息
@property (nonatomic, assign) int code; // 事件详细错误码
@end

msg是关于这个事件的一些描述信息,code是事件的错误码,notificationType是传递的事件类型,其定义如下(可以在sdk中自行查看):

typedef NS_ENUM(NSInteger, SFNotificationType) {
    SFNotificaitonTypeTicketAuthFailed = 0,     // 内部免密认证失败
    SFNotificaitonTypeTicketAuthSuccess,          // 内部免密成功
    SFNotificaitonTypeDisconnectFromProxy,            // 探测到与服务端断开连接
    SFNotificaitonTypeConnectedToProxy,               // 探测到和服务端恢复连接
};

需要监听哪个事件,则在回调的内容中选择处理对应的事件即可。

results matching ""

    No results matching ""