写点什么

MobTech 短信验证 ApiCloud 端 SDK

  • 2022 年 9 月 20 日
    上海
  • 本文字数:3295 字

    阅读完需:约 11 分钟

短信验证码 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'}   }});
复制代码


用户头像

还未添加个人签名 2019.05.08 加入

还未添加个人简介

评论

发布
暂无评论
MobTech短信验证ApiCloud端SDK_API_MobTech袤博科技_InfoQ写作社区