ShareSDK集成短信验证功能
2016-07-11 本文已影响455人
kuxiu
一,获取AppKey
二,通过CocoaPods安装
通过 CocoaPods进行安装,只需在 Podfile文件中添加,添加之后执行 pod install 命令
# Mob产品公共库
pod 'MOBFoundation_IDFA'
# SMSSDK必须
pod 'SMSSDK'
三.项目快速集成
在AppDelegate.m
文件中导入头文件
import <SMS_SDK/SMSSDK.h>
初始化SMS服务
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[SMSSDK registerApp:@"14d0d58e16664" withSecret:@"7d01b9089172e5a255cb64c99876d7b9"];
return YES;
}
点击注册
弹出注册界面
RegViewController* reg = [[RegViewController alloc] init];
[self presentViewController:reg animated:YES completion:nil];
注册界面RegViewController,进入该界面后,可选择国家和地区和输入手机号码进行短信注册验证;
选择国家和地区的选项进入SectionsViewController,在该控制器会从服务端获取所支持的国家和地区;
用户在注册页面输入手机号码之后,点击下一步,界面跳转到短信验证界面同时服务端会发送短信验证码到手机;
短信验证界面对应的控制器为VerifyViewController 主要处理短信的验证功能。
获取通讯录好友界面
[_testView setNumber:0];
SectionsViewControllerFriends* friends = [[SectionsViewControllerFriends alloc] init];
_friendsController = friends;
[_friendsController setMyBlock:_friendsBlock];
[SMS_MBProgressHUD showMessag:NSLocalizedString(@"loading", nil) toView:self.view];
[SMSSDK getAllContactFriends:1 result:^(NSError *error, NSArray *friendsArray) {
if (!error) {
[_friendsController setMyData:[NSMutableArray arrayWithArray:friendsArray]];
[self presentViewController:_friendsController animated:YES completion:^{
;
}];
}
}];
//判断用户通讯录是否授权
if (_alert1)
{
[_alert1 show];
}
if(ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusAuthorized && _alert1 == nil)
{
NSString* str = [NSString stringWithFormat:NSLocalizedString(@"authorizedcontact", nil)];
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"notice", nil)
message:str
delegate:self
cancelButtonTitle:NSLocalizedString(@"sure", nil)
otherButtonTitles:nil, nil];
_alert1 = alert;
[alert show];
}
通讯录好友界面SectionsViewControllerFriends,在事件响应中弹出该好友控制器即可;进入该界面后 会把通讯录的好友分为两类:
- 已加入的用户:可以点击添加按钮,直接添加已加入该app的通讯录好友。
- 待邀请的用户:可以点击邀请按钮发送短信邀请好友加入该app。
获取验证码的方法
/*
* @from v1.1.1
* @brief 获取验证码(Get verification code)
*
* @param method 获取验证码的方法(The method of getting verificationCode)
* @param phoneNumber 电话号码(The phone number)
* @param zone 区域号,不要加"+"号(Area code)
* @param customIdentifier 自定义短信模板标识 该标识需从官网http://www.mob.com上申请,审核通过后获得。(Custom model of SMS. The identifier can get it from http://www.mob.com when the application had approved)
* @param result 请求结果回调(Results of the request)
*/
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@"13263497584"
zone:@"86"
customIdentifier:nil
result:^(NSError *error){
if (!error) {
NSLog(@"获取验证码成功");
} else {
NSLog(@"错误信息:%@",error);
} } ];
提交验证码的方法
/**
* @from v1.1.1
* @brief 提交验证码(Commit the verification code)
*
* @param code 验证码(Verification code)
* @param phoneNumber 电话号码(The phone number)
* @param zone 区域号,不要加"+"号(Area code)
* @param result 请求结果回调(Results of the request)
*/
[SMSSDK commitVerificationCode:self.verifyCodeField.text phoneNumber:_phone zone:_areaCode result:^(NSError *error) {
if (!error) {
NSLog(@"验证成功");
}
else{
NSLog(@"错误信息:%@",error);
}}];
同时集成分享和SMS的注意事项:
一.导入的公共库需要修改
- 如果是用cocoaPods进行集成的,则只需要
pod ‘MOBFoundation_IDFA’
即可。- 如果是手动下载的SDK:
- 1、如果ShareSDK的版本是IDFA版本的,则只要保留SMSSDK或者ShareSDK中的任何一个公共库MOBFoundation即可;
- 2、如果ShareSDK是非IDFA版本的,则删除掉ShareSDK版本中的公共库,只保留SMSSDK中的公共库,此时使用IDFA版本的公共库并不影响ShareSDK的使用
二.初始化方法的先后问题
如果将 SMSSDK 的初始化方法
[SMSSDK registerApp:appKey withSecret:appSecret];
写在 ShareSDK 的初始化方法之前的话,只会在短信后台[IDFA 设置]
出现数据,反之亦然(没看懂官方文档这句话的意思)。