smssdk

来自于:Mob官方立即使用

getTextCode getVoiceCode commitCode getSupportedCountries getFriends submitUserInfo getVersion enableWarn

概述

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

配置集成

开发者使用本模块之前需要先到Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取 AppKey和AppSecret,然后添加SMSSDK功能,

*如果需要自定义短信模板,需要获取模板id.

详情参考:快速集成获取apppkey和appSecret

如有问题请联系技术支持:

  1. 服务电话: 400-685-2216
  2. QQ: 4006852216
  3. 节假日值班电话:
  4. iOS185-1664-1951
  5. Android: 185-1664-1950
  6. 电子邮箱: support@mob.com
  7. 市场合作: 021-54623100

模块使用攻略

Android

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

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

另外,1.2.0版开始smssdk模块同时依赖于 mobcommonlib 模块,故需要在模块库搜索 mobcommonlib 模块,并添加至 已添加模块

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

iOS

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

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>MOBAppKey</key>
  6. <string>moba6b6c6d6</string>
  7. <key>MOBAppSecret</key>
  8. <string>b89d2427a3bc7ad1aea1e1e8c1d36bf3</string>
  9. </dict>
  10. </plist>
  1. **编译appios 请配置访问联系人的权限**

实例widget下载地址

模块接口

需要引入模块:

  1. var moduleSMSSDK = api.require('smssdk');

getTextCode

获取文本验证码(Get text verification code)

  1. getTextCode({params}, callback(ret,err))

params:

phoneNumber:

  • 类型:字符串
  • 默认值:无
  • 描述:手机号

zone:

  • 类型:字符串
  • 默认值:无
  • 描述:区域号,不要加”+”号

tempCode:

  • 类型:字符串
  • 默认值:无
  • 描述:模板id

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. smart:0 //是否为智能验证 bool类型, ios 忽略此字段
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码

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

getVoiceCode

获取语音验证码(Get text verification code)

  1. getVoiceCode({params}, callback(ret, err))

params:

phoneNumber:

  • 类型:字符串
  • 默认值:无
  • 描述:手机号

zone:

  • 类型:字符串
  • 默认值:无
  • 描述:区域号,不要加”+”号

callback(ret, err)

ret:

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

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码:

  1. // param中的key命名不能改变
  2. var param = {zone:'86', phoneNumber:'18500000000'};
  3. moduleSMSSDK.getVoiceCode(param, function(ret, err){
  4. if (err !== null && err !== undefined && err !== '') {
  5. // 错误消息示例:{"msg":"Template not exist.","code":484}
  6. alert("Error:\n" + JSON.stringify(err));
  7. } else {
  8. // 正常消息示例:{}
  9. alert("Success:\n" + JSON.stringify(ret));
  10. }
  11. });

commitCode

提交验证码(Commit the verification code)

  1. commitCode({params}, callback(ret, err))

params:

phoneNumber:

  • 类型:字符串
  • 默认值:无
  • 描述:手机号

zone:

  • 类型:字符串
  • 默认值:无
  • 描述:区域号,不要加”+”号

code:

  • 类型:字符串
  • 默认值:无
  • 描述:验证码

callback(ret, err)

ret:

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

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码:

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

getSupportedCountries

获取区号(Get the Area code of the country)

  1. getSupportedCountries(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. countries =
  3. (
  4. {
  5. rule = "^\\d+";
  6. zone = 1868;
  7. }
  8. )
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码:

  1. // param中的key命名不能改变
  2. moduleSMSSDK.getSupportedCountries(function(ret, err){
  3. if (err !== null && err !== undefined && err !== '') {
  4. // 错误消息示例:{"msg":"Template not exist.","code":484}
  5. alert("Error:\n" + JSON.stringify(err));
  6. } else {
  7. // 正常消息示例:{"countries":[{zone=590, rule=^\d+},{zone=680, rule=^\d+}]}
  8. alert("Success:\n" + JSON.stringify(ret));
  9. }
  10. });

getFriends

向服务端请求获取通讯录好友信息

  1. getFriends(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. friends =
  3. (
  4. {
  5. lastname : "你好";
  6. others = (
  7. {
  8. desc = "董浩";
  9. phone = 10101155;
  10. type = 1;
  11. }
  12. );
  13. phones = (
  14. {
  15. desc = "董浩";
  16. phone = 10101155;
  17. type = 1;
  18. }
  19. );
  20. recordid = 411;
  21. specialdate = (
  22. {
  23. desc = "生日";
  24. date = "1988-07-08";
  25. type = 1;
  26. }
  27. );
  28. }
  29. )
  30. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码:

  1. // param中的key命名不能改变
  2. moduleSMSSDK.getFriends(function(ret, err){
  3. if (err !== null && err !== undefined && err !== '') {
  4. // 错误消息示例:{"msg":"Template not exist.","code":484}
  5. alert("Error:\n" + JSON.stringify(err));
  6. } else {
  7. // 正常消息示例:{"countries":[{zone=590, rule=^\d+}, {zone=680, rule=^\d+}]}
  8. alert("Success:\n" + JSON.stringify(ret));
  9. }
  10. });

submitUserInfo

提交用户资料(Submit the user information data)

  1. submitUserInfo({params}, callback(ret, err))

params:

uid:

  • 类型:字符串
  • 默认值:无
  • 描述:用户id

nickname:

  • 类型:字符串
  • 默认值:无
  • 描述:用户昵称

avatar:

  • 类型:字符串
  • 默认值:无
  • 描述:头像地址

phoneNumber:

  • 类型:字符串
  • 默认值:无
  • 描述:手机号

zone:

  • 类型:字符串
  • 默认值:无
  • 描述:区域号,不要加”+”号

callback(ret, err)

ret:

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

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码:

  1. // param中的key命名不能改变
  2. var uid = "3241241";
  3. var nickname = "SmsSDK_Api_Cloud_User_" + uid;
  4. var avatar = "http://download.sdk.mob.com/510/deb/0c0731ac543eb71311c482a2e2.png";
  5. // param中的key命名不能改变
  6. var param = {uid:uid, nickname:nickname, avatar:avatar, phoneNumber:'18500000000', zone:'86'};
  7. moduleSMSSDK.submitUserInfo(param, function(ret, err){
  8. if (err !== null && err !== undefined && err !== '') {
  9. // 错误消息示例:{"msg":"Template not exist.","code":484}
  10. alert("Error:\n" + JSON.stringify(err));
  11. } else {
  12. }
  13. });

getVersion

返回SDK版本号(Return the version number of this SDK)

  1. getVersion(callback(ret, err))

callback(ret,err)

ret

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. version: "1.0.0"
  3. }

err

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

示例代码:

  1. // param中的key命名不能改变
  2. moduleSMSSDK.getVersion(function(ret, err){
  3. if (err !== null && err !== undefined && err !== '') {
  4. // 错误消息示例:{"msg":"Template not exist.","code":484}
  5. alert("Error:\n" + JSON.stringify(err));
  6. } else {
  7. // 正常消息示例:{"version":'3.2.2'}
  8. }
  9. });

enableWarn

是否允许访问通讯录好友(is Allowed to access to address book)

  1. enableWarn({params})

params:

isWarn:

  • 类型:布尔
  • 默认值:true
  • 描述:YES 代表启用 NO 代表不启用 默认为启用

示例代码:

  1. // param中的key命名不能改变
  2. var isWarn = true;
  3. // param中的key命名不能改变
  4. var param = {isWarn:isWarn};
  5. moduleSMSSDK.enableWarn(param);