• MobTech短信验证ApiCloud SDK


    短信验证码 SDK,为开发者提供全球通用的短信验证码工具,开发者可以用其在 App 植入短信验证码
    SDK、简单设置即可实现短信验证功能,集成快速便捷,且后期易于管理。

    配置集成 开发者使用本模块之前需要先到Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取 AppKey 和 AppSecret,然后添加 SMSSDK 功能,获取模板 id。 详情参考:快速集成获取Appkey和AppSecret

    准备工作

    下载并安装开发工具:APICloud Studio 2

    创建应用

    APICloud 提供了两种创建应用的方式,方便开发者在云端或 APICloud Studio 中创建应用。 云端创建应用:

    (1)注册并登录 APICloud 系统:https://www.apicloud.com/console 点击左上角“创建应用”, 如图:选择“Native”,填写“名称”及“说明”,应用创建完成。
    在这里插入图片描述

    APICloud Studio 中创建应用:

    (2) 登录 APICloud Studio,没有账号点击“注册账号”,已经注册,用之前注册的 APICloud 账号登录 APICloud Studio

    在这里插入图片描述

    这 2 端可以相互同步信息:

    同步本地应用到云端资源库,开发者在 APICloud Studio 创建的应用会和云端资源库建立连接。项目代码改动后,可以使用 APICloud Studio 的代码提交功能提交代码到云端资源库。

    添加模块

    打开 APICloud 云端,1.2.0 版开始 smssdk 模块同时依赖于 mobcommonlib 模块,故需要在模块库搜索 mobcommonlib 模块,并添加至 已添加模块。

    注意:从 1.2.0 版本开始,使用短信 SDK 需要接入隐私功能,隐私功能的接入方法请参考 mobcommonlib 模块的文档。

    在这里插入图片描述

    模块使用攻略
    Android: 使用此模块之前 android 需先配置 config.xml 文件,方法如下

    <meta-data name="Mob-AppKey" value="moba6b6c6d6"/>
    <meta-data name="Mob-AppSecret" value="b89d2427a3bc7ad1aea1e1e8c1d36bf3"/>
    

    iOS: iOS 需要将 Info.plist 文件放入 res 目录下,文件内容内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>MOBAppKey</key>
    <string>moba6b6c6d6</string>
    <key>MOBAppSecret</key>
    <string>b89d2427a3bc7ad1aea1e1e8c1d36bf3</string>
    </dict>
    </plist>
    

    字段描述:

    • Mob-AppKey:(必须配置)从 MobTeck 官网获取的 AppKey。

    • Mob-AppSecret:(必须配置)从 MobTech 官网获取的 AppSecret。 申请方法参考快速集成获取AppKey和AppSecret

    编译 APP 时 iOS 请配置访问联系人的权限

    在这里插入图片描述

    Demo实例widget下载地址

    获取文本验证码(getTextCode)

    需要引入模块: var moduleSMSSDK = api.require(‘smssdk’);

    getTextCode({params}, callback(ret,err)) params:

    phoneNumber:
    
    类型:字符串
    
    默认值:无
    
    描述:手机号
    
    zone:
    
    类型:字符串
    
    默认值:无
    
    描述:区域号,不要加"+"号
    
    tempCode:
    
    类型:字符串
    
    默认值:无
    
    描述:模板id
    

    callback(ret,err) ret:

    类型:JSON 对象

    内部字段: { smart:0 //是否为智能验证 bool类型, ios 忽略此字段 }

    err:

    类型:JSON 对象

    内部字段:

    {
        code:0    //错误码(详见错误码常量)
        msg:""    //错误描述
    };
    

    示例代码

    var param = {zone:'86', phoneNumber:'18500000000',tempCode:'1319972'};
    moduleSMSSDK.getTextCode(param, function(ret, err){
        if (err !== null && err !== undefined && err !== '') {
         // 错误消息示例:{"msg":"Template not exist.","code":484}
        alert("Error:\n" + JSON.stringify(err));
        } else {
            // 正常消息示例:{"smart":false}
           alert("Success:\n" + JSON.stringify(ret));
        }
        });
    

    获取语音验证码(getVoiceCode)
    getVoiceCode({params}, callback(ret, err)) params:

    phoneNumber:
    
    类型:字符串
    
    默认值:无
    
    描述:手机号
    
    zone:
    
    类型:字符串
    
    默认值:无
    
    描述:区域号,不要加"+"

    callback(ret, err) ret:

    类型:JSON 对象 内部字段: { }

    err:

    类型:JSON 对象

    内部字段:

    {
        code:0    //错误码(详见错误码常量)
        msg:""    //错误描述
    };
    

    示例代码:

    // param中的key命名不能改变
    var param = {zone:'86', phoneNumber:'18500000000'};
    moduleSMSSDK.getVoiceCode(param, function(ret, err){
      if (err !== null && err !== undefined && err !== '') {
       // 错误消息示例:{"msg":"Template not exist.","code":484}
       alert("Error:\n" + JSON.stringify(err));
      } else {
         // 正常消息示例:{}
        alert("Success:\n" + JSON.stringify(ret));
        }
       });
    
    提交验证码(commitCode)

    commitCode({params}, callback(ret, err)) params:

    phoneNumber:
    
    类型:字符串
    
    默认值:无
    
    描述:手机号
    
    zone:
    
    类型:字符串
    
    默认值:无
    
    描述:区域号,不要加"+"号
    
    code:
    
    类型:字符串
    
    默认值:无
    
    描述:验证码
    

    callback(ret, err) ret:

    类型:JSON 对象 内部字段: { }

    err:

    类型:JSON 对象

    内部字段:

    {
        code:0    //错误码(详见错误码常量)
        msg:""    //错误描述
    };
    

    示例代码:

    // param中的key命名不能改变
    var param = {zone:'86', phoneNumber:'18500000000', code:'4847'};
    moduleSMSSDK.commitCode(param, function(ret, err){
    if (err !== null && err !== undefined && err !== '') {
      // 错误消息示例:{"msg":"Template not exist.","code":484}
      alert("Error:\n" + JSON.stringify(err));
      } else {
    
      }
      });
    
    获取区号(getSupportedCountries)

    getSupportedCountries(callback(ret, err)) callback(ret, err) ret:

    类型:JSON 对象

    内部字段:

    {
        countries =
        (
            {
            rule = "^\\d+";
            zone = 1868;
            }
        )
    }
    

    err:

    类型:JSON 对象

    内部字段:

    {
        code:0    //错误码(详见错误码常量)
        msg:""    //错误描述
    };
    

    示例代码:

    // param中的key命名不能改变
    moduleSMSSDK.getSupportedCountries(function(ret, err){
        if (err !== null && err !== undefined && err !== '') {
         // 错误消息示例:{"msg":"Template not exist.","code":484}
          alert("Error:\n" + JSON.stringify(err));
         } else {
          // 正常消息示例:{"countries":[{zone=590, rule=^\d+},{zone=680, rule=^\d+}]}
            alert("Success:\n" + JSON.stringify(ret));
        }
      });
    
    提交用户资料(submitUserInfo)

    submitUserInfo({params}, callback(ret, err)) params:

    uid:
    类型:字符串
    默认值:无
    描述:用户id
    
    nickname:
    类型:字符串
    默认值:无
    描述:用户昵称
    
    avatar:
    类型:字符串
    默认值:无
    描述:头像地址
    
    phoneNumber:
    类型:字符串
    默认值:无
    描述:手机号
    
    zone:
    类型:字符串
    默认值:无
    描述:区域号,不要加"+"号
    

    callback(ret, err) ret:

    类型:JSON 对象

    内部字段: { }

    err:

    类型:JSON 对象

    内部字段:

    {
        code:0    //错误码(详见错误码常量)
        msg:""    //错误描述
    };`
    

    示例代码:

    // param中的key命名不能改变
    var uid = "3241241";
    var nickname = "SmsSDK_Api_Cloud_User_" + uid;
    var avatar = "https://download.sdk.mob.com/510/deb/0c0731ac543eb71311c482a2e2.png";
    // param中的key命名不能改变
    var param = {uid:uid, nickname:nickname, avatar:avatar, phoneNumber:'18500000000', zone:'86'};
    
    moduleSMSSDK.submitUserInfo(param, function(ret, err){
    if (err !== null && err !== undefined && err !== '') {
    // 错误消息示例:{"msg":"Template not exist.","code":484}
    alert("Error:\n" + JSON.stringify(err));
    } else {
    }
    });
    
    获取版本号(getVersion)

    getVersion(callback(ret, err)) callback(ret,err) ret

    类型:JSON 对象

    内部字段: { version: “1.0.0” }

    err

    类型:JSON 对象

    内部字段: { }

    示例代码:

    // param中的key命名不能改变
    moduleSMSSDK.getVersion(function(ret, err){
       if (err !== null && err !== undefined && err !== '') {
           // 错误消息示例:{"msg":"Template not exist.","code":484}
           alert("Error:\n" + JSON.stringify(err));
       } else {
          // 正常消息示例:{"version":'3.2.2'}
       }
    });
    
  • 相关阅读:
    openCV的CUDA GPU 版本安装 (Ubuntu windows 通用)
    C语言 每日一题 PTA 10.28 day6
    [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-046(CVE-2017-5638)
    Qt时间和定时器
    几行代码,让黑白老照片重获新生!
    【算法】【递归与动态规划模块】矩阵的最小路径和
    年薪百万架构师荐java面试宝典:spring/Redis/数据/Kafka/微服务
    刚考过PMP想问一下怎样才能转行做PM
    搭建属于自己的家庭私有云盘
    SQL日期函数
  • 原文地址:https://blog.csdn.net/apkkkk/article/details/126950266