美文网首页
ShareSDK集成短信验证功能

ShareSDK集成短信验证功能

作者: kuxiu | 来源:发表于2016-07-11 20:12 被阅读455次

    一,获取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 设置]出现数据,反之亦然(没看懂官方文档这句话的意思)。

    相关文章

      网友评论

          本文标题:ShareSDK集成短信验证功能

          本文链接:https://www.haomeiwen.com/subject/ptsjjttx.html