本文为您介绍短信认证功能Demo的运行步骤及示例代码,帮助您快速了解短信认证功能。iOS客户端SDK集成的详细接入步骤及用法,请参见短信认证iOS客户端接入。
步骤一:下载SDK
登录号码认证产品控制台,在概览页面右侧API&SDK区域,单击立即下载,进入API&SDK页面,根据页面提示下载并解压对应SDK。
步骤二:替换方案号
请在短信认证方案管理页面创建认证方案。SDK解压后获取Demo,找到ViewController.m
文件,请将<#SceneCode#>
替换为您的方案号。
步骤三:设置参数
找到ViewController.m
,将updateTokenWithVerifyCodeManager:
回调方法的参数设置为您的信息。如:<#AccessKeyId#>
、<#AccessKeySecret#>
、<#sts token#>
、<#biz token#>
、<#expired time mills#>
等。
示例代码
初始化示例对象
self.verifyCodeManager = [[SmsVerifyCodeManager alloc] initWithSceneCode:@"xxx"];
设置代理
[self.verifyCodeManager setTokenUpdateDelegate:self];
监听回调
- (SmsTokens *)updateTokenWithVerifyCodeManager:(SmsVerifyCodeManager *)verifyCodeManager {
/**
注:这里需要发送网络请求从服务端获取相关参数,但是该方法需要同步返回结果,所以需要自己用信号量做下同步
这里属于私有线程,所有放心做同步,不会卡顿主线程
示例:
SmsTokens *tokens = [[SmsTokens alloc] init];
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
[HttpRequestUtils requestTokensWithParameters:<#请求参数#>
complete:^(id response) {
tokens.accessKeyId = <#AccessKeyId#>;
tokens.accessKeySecret = <#AccessKeySecret#>;
tokens.stsToken = <#sts token#>;
tokens.bizToken = <#biz token#>;
tokens.expiredTimeMills = <#expired time mills#>;
dispatch_semaphore_signal(semaphore);
}];
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
return tokens;
*/
SmsTokens *tokens = [[SmsTokens alloc] init];
tokens.accessKeyId = @"xx";
tokens.accessKeySecret = @"xx";
tokens.stsToken = @"xx";
tokens.bizToken = @"xx";
tokens.expiredTimeMills = 123;
return tokens;
}
获取Token
[self.verifyCodeManager sendVerifyCodeWithTimeout:10.0
countryCode:86
phoneNumber:phoneNumber
complete:^(SmsSendCodeResult * _Nonnull result) {
[ws.loginView stopGetCodeCountdown];
NSLog(@"requestId = %@, code = %@, msg = %@, smsVerifyToken = %@, failedResponseData = %@", result.requestId, result.code, result.msg, result.smsVerifyToken, result.failedResponseData);
}];
文档内容是否对您有帮助?