smssdk ios集成怎么判断验证码输入正确

淘宝开放平台 - 文档中心

1 成本以及预存?
充值必须大于100元,且一旦余额少于50元,我们会通过短信发送报警信息给ISV。每个用户开通服务的前两个自然月,我们提供每个月100条免费短信,以供测试使用
2 调用报错 &code:10008 message:NO_PERMISSION
报错[&code&]&=&&string(5)&&10008&&[&message&]&=&&string(13)&&NO_PERMISSION&
1). 需要申请开通
2). 点击一下百川消息的页面&,同意服务协议
3 短信有防刷的机制么?
同一个手机号码收到验证码的上限规则:
& & &1分钟上限1条;
& & &1小时上限7条;
& & &24小时上限12条。
& & &超出上限的验证码直接被屏蔽。
可以通过api来设置短信发送的次数和频率
设备维度:
device_id 设备id
device_limit&设备级别次数限制
device_limit_in_time&时间,单位秒
session会话:
session_id&session id
session_limit&session级别次数限制
session_limit_in_time&时间,单位秒
具体可查看api入参介绍
4 发送短信可以不需要模板和签名吗?
为保障短信通道的健壮,短信内容需要审核,需要上传模板,发送短信时需要根据模板和签名发送。
5 发送短信或验证码入参external_id这个变量是干什么的?可以不传吗?
externalId 您自定义id&externalId主要是失败的时候&消息通知会把这个id原封不动的带回去&方便关联您自己的数据 ,不是必填参数。
6 发送短信的号码是固定的吗?&可申请固定号码吗?
不是固定的&,目前不支持固号申请。
7 哪里能看到用户是否成功接收到了?
可以在控制台短信发送详情查看短信发送接收情况。应用内部可以订阅消息通知taobao_bmc_ShortMessageStatus获取短信发送状态。只能获取发送失败的通知。
8 &百川消息提供上行确认吗?
上行目前不支持。
9 语音验证码有吗?
目前没有。
10 百川消息短信服务必须要加入阿里百川并创建手机APP吗?
不是,开放平台所有应用都可以开通使用。
11 短信长度有限制吗?
单条短信 变量的字符数+短信文案+签名长度&=70字符。多余70字会分多条发送,最多分5条。
12 自定义模板审核通过以后不能使用?
模板审核通过以后需要点击启用,修改模板审核通过以后也需要重新点击启用,才能按新的内容发送。
13 短信发送失败错误码
用户因为欠费,无法到达。
MI&同expired
用户长时间关机或者不在服务区
MK同Undeliv
手机容量满,或用户停机,挂起,或者发送太频繁运营商控制。
MN&同reject
因主动拦截,例如加入黑名单
发验证码频率验太高
手机号码有误,如位数不对。
消息结构错误
src_id错误
&流量控制&移动运营商内部错误&。
一般是验证码发送太频繁,运营商限制
&表示用户黑名单了
14 短信支持国外通道吗?
&目前不支持。
15 调用报错code&:10009& message&:&NEED_CHARGE&
报错{&code&:10009,&message&:&NEED_CHARGE&,&successful&:false}
已经欠费,需要充值!
16 调用报错 &code&:10001&message&:&ILLEGAL_PARAM&
报错&{&code&:10001,&message&:&ILLEGAL_PARAM&,&successful&:false}
输入参数有误,如签名id输入别的应用的签名id;模板变量输入错误;模板或者签名是否启用;符号全角半角等。仔细检查入参。
17 调用报错 &code&:25 &msg&:&Invalid&signature&
报错&{&code&:25,&msg&:&Invalid&signature&,&request_id&:&iv09x6dx37am&}
如果是使用SDK,一般是&appkey appcecret 输入错误,要注意不要有空格等。
如果是自己生成签名调用api,注意签名规则:根据参数名称(除签名和图片)将所有请求参数按照字母先后顺序排序:key + value .... key + value 例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1;将secret 拼接到参数字符串头、尾进行md5加密后,再转化成大写,格式是:byte2hex(md5(secretkey1value1key2value2...secret))
18 调用报错 &code&:22,&msg&:&InvalidMethod&
报错&{&code&:22,&msg&:&InvalidMethod&,&request_id&:&iv09x6dx37am&}
注意要是正式环境, 短信api不支持沙箱环境;app开通权限以后要下载新的服务端sdk集成到代码中。&
19 百川消息发送记录里看到短信发送成功?用户没有收到短信为什么?
发送记录显示收到了的&都是用户手机有了回执&所以最大的可能就是手机的问题
1).手机是不是长时间不关机,可以关机重启下
2).手机收件箱是不是已满,删除一些看是否可以正常接收
3).手机是不是双卡双待的手机,把卡拿出来换一下卡槽
4).手机是不是安装了安全软件,安全软件有可能会进行拦截,到垃圾信箱里&
20 上传模板审核要注意什么?
1)模板需要有具体的内容指向,不能以${content}这样,代替全部内容,如订单状态的通知,${user}您好!您的订单已经${status}.谢谢您的光临!不能以${content}替代所有内容。
2)模板不能有[XXX]这样的签名内容。百川消息已经有专门的签名管理。请在签名管理中设置签名。
3)不能发营销短信,营销短信模板审核不会通过。
21 反验证码接口支持指定验证码的位数码?
可以,通过入参ver_code_length指定验证码长度。大于等于4小于等于10。
22 短信支持延时(定时)发送吗?
&支持,通入参delay_time指定延时时间,单位毫秒。未发送之前可以通过taobao.open.sms.rmdelaymsg 删除未发送短信。
23 发验证码接口可以发自定义的验证码吗?
taobao.open.sms.sendvercode发验证码接口,如果入参如果不输入验证码,采用系统生成验证码,如果输入自定义验证码,短信就发输入的验证码,且可以通过checkvercode接口验证验证码。也可以通过sendmsg发送,不过对于平台来说只相当于一条普通通知短信,所以只能自己验证验证码。
24 批量发送接口每次可以发送多少条?
&批量发送短信 如果延时发送[delay_time]一次200个&如果非delay的一次30个
25 报错 &code&:90001&message&:&SERVICE_SHIELD_VERCODE&
验证码发送过于频繁,被屏蔽。参考问题3
26 报错 &code&:90002&message&:&SERVICE_SHIELD_MESSAGE&
短信发送于频繁,被屏蔽,参考问题3
更多问题联系:
关于此文档暂时还没有FAQ国内短信权威运营服务商网&&&&电信全网移动信息服务许可证:B2-
7x24小时服务热线:
售前咨询:400-112-9919售后服务:400-113-9919
中国移动短信提供商
验证码短信专注于用户体验,秒到极速响应,为您留住更多客户
保障到达提供专业的咨询、技术支持和售后服务,为万家企业保证到达率
正规权威服务商持工信部权威资质,搭建三大运营商与商企之间沟通桥梁
品质服务7*24小时服务,支持超大规模并发的服务器架构保证平台稳定
短信接口示例
短信短信应用范围
会员注册验证码
手机app短信验证
优惠券/网站链接地址
经典短信应用客户
售后热线:400-113-9919
技术热线:400-113-9919 转 111
传真号码:021-
业务邮箱:免费短信验证码SDK_短信平台_短信、即时通信、通讯_API服务_API Store
免费短信验证码SDK
免费短信验证码SDK
所属分类:
更新时间:
开发者只需申请账号,APP内植入短信验证码SDK,简单设置后便可完美实现短信验证,同时也可实现通信录好友匹配功能,轻而易举实现短信验证服务。
短信验证可快速的实现短信验证功能和匹配通讯录好友功能,Mob提供全套解决方案,远比其他短信平台集成更为快速便捷,且易于后期管理。
1、用户可轻松找到使用您应用的通讯录好友,形成稳定社交圈;
2、通讯录好友功能,让用户邀请他的朋友使用您的产品;
3、高度自定义界面,保持您一致的产品风格;
4、运营商顶级专属通道,让下发验证码更稳定;
5、全面的数据接口,让您获得最完善的用户信息。
1、提交手机号码
2、下发短信验证码
3、提交验证
开发工具与文档
版本:V1.0.6更新时间: 10:00:46
版本:V1.1.7更新时间: 11:00:14
免费短信验证码SDK
接口地址:/Download
请求方法:POST
请求参数:
应用appkey
请求示例:
appkey=xxxx&phone=132****8362&zone=86&code=xxxx
JSON返回示例:
{status:200} 成功
{status:520} 验证码失效Android之短信验证码
我们今天所使用的方案只是android手机设备集成短信验证码功能的方案之一。
我们所采用的方案是使用聚合数据的短信验证sdk。
程序的界面如下所示:
实现步骤:
1.到聚合数据官网上申请短信验证SDK数据,生成AppKey,如下图所示:
2.配置工程,把相关的sdk库导入到Project中去,:
3.配置AndroidManifest.xml文件,在Application节点中加入以下代码:
4.在src中加入MyApplication类,并且在AndroidManifest.xml文件中将application的name属性设置为src中定义的MyApplication(如android:name=&com.bear.smscaptcha.MyApplication&),在MyApplication的onCreate()方法中调用接口初始化:
import com.thinkland.monF
import android.app.A
public class MyApplication extends Application {
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
* 初始化方法
* @param context
* @needFriends 是否需要好友功能
CommonFun.initialize(getApplicationContext(), false);
5.完成主Demo类,内容如下:
import android.app.A
import android.content.pm.ActivityI
import android.os.B
import android.text.E
import android.text.H
import android.text.TextW
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.ImageV
import android.widget.TextV
import android.widget.T
import com.thinkland.sdk.sms.SMSC
import com.thinkland.sdk.util.BaseData.ResultCallB
public class MainActivity extends Activity implements OnClickListener{
private SMSCaptcha mC //短信sdk主对象
private EditText etPhoneN
//手机号码输入框
private ImageView ivC
//清除已经输入内容的图标
private Button btnN //下一步按钮
private EditText etCaptchaN //验证码输入框
private Button btnS //提交验证码
private ImageView ivSmsC
private TextView tvUnreceiveI
private static final int RETRY_INTERVAL = 60; //设置一个倒计时时间
private int time = RETRY_INTERVAL;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_main);
initData();
setupViews();
private void initData(){
//初始化sdk主操作对象
mCaptcha = SMSCaptcha.getInstance();
* 初始化界面控件
private void setupViews(){
btnNext = (Button) findViewById(R.id.btn_next);
ivClear = (ImageView) findViewById(R.id.iv_clear);
btnNext.setOnClickListener(this);
ivClear.setOnClickListener(this);
etCaptchaNum = (EditText) findViewById(R.id.et_sms_captcha);
btnSubmit = (Button) findViewById(R.id.btn_submit);
ivSmsClear = (ImageView) findViewById(R.id.iv_sms_clear);
btnSubmit.setOnClickListener(this);
ivSmsClear.setOnClickListener(this);
tvUnreceiveIdentify = (TextView) findViewById(R.id.tv_unreceive_identify);
etPhoneNum = (EditText) findViewById(R.id.et_write_phone);
etPhoneNum.setText(&&);
etPhoneNum.requestFocus();
etPhoneNum.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
refreshViews(arg0);
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
//根据edittext的内容来判断是否应当出现&清除所有&的按钮x
private void refreshViews(CharSequence s){
if(s.length() &0){
btnNext.setEnabled(true);
ivClear.setVisibility(View.VISIBLE);
btnNext.setEnabled(false);
ivClear.setVisibility(View.GONE);
//倒计时方法
private void countDown(){
new Thread(new
Runnable() {
public void run() {
while(time-- & 0){
final String unReceive = MainActivity.this.getResources().getString(R.string.smssdk_receive_msg, time);
runOnUiThread(new Runnable() {
public void run() {
tvUnreceiveIdentify.setText(Html.fromHtml(unReceive));
tvUnreceiveIdentify.setEnabled(false);
Thread.sleep(1000);
} catch (Exception e) {
// TODO: handle exception
time = RETRY_INTERVAL;
}).start();
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_next:
//删除掉字符串中所有的空格
String phone = etPhoneNum.getText().toString().trim().replace(&\\s*&, &&);
* 请求短信验证码
* code 返回码:
服务器: 0 成功; 1 错误;
本地: -2 本地网络异常; -3 服务器网络异常;-4 解析错误;-5初始化异常
reason 返回信息 成功或错误原因.
result 返回结果,JSON格式.错误或者无返回值时为空.
mCaptcha.sendCaptcha(phone, new ResultCallBack() {
public void onResult(int code, String reason, String result) {
// TODO Auto-generated method stub
if(code == 0){
//调用成功
countDown();
case R.id.iv_clear:
etPhoneNum.getText().clear();
case R.id.btn_submit:
String phoneNumber = etPhoneNum.getText().toString().trim().replace(&\\s*&, &&);
String code = etCaptchaNum.getText().toString().trim().replace(&\\s*&, &&);
* 验证短信验证码
* code 返回码:
服务器: 0 成功; 1 错误;
本地: -2 本地网络异常; -3 服务器网络异常;-4 解析错误;-5初始化异常
reason 返回信息 成功或错误原因.
result 返回结果,JSON格式.错误或者无返回值时为空.
mitCaptcha(phoneNumber, code, new ResultCallBack() {
public void onResult(int code, String reason, String result) {
// TODO Auto-generated method stub
if(code == 0){
//短信验证成功
Toast.makeText(MainActivity.this, &验证成功!!!!!!!!&, Toast.LENGTH_LONG).show();
//验证失败
Toast.makeText(MainActivity.this, &失败!!!!!!!!& + reason, Toast.LENGTH_LONG).show();
case R.id.iv_sms_clear:
最后,附上demo代码的工程压缩包:
SMSCaptcha怎么用javascript验证验证码是否输入正确?_百度知道
怎么用javascript验证验证码是否输入正确?
,不知道怎么获取验证码的值验证码是随机生成的.求助!,是JPG格式的图片
提问者采纳
以在输入框INPUT失去焦点的事件中判断。在脚本中使用XMLHTTPRequest对象。当XMLHTTPRequest对象发了码之后。客户端就能处理了,向服务器发用户填入的码,服务器端ASP等程序检查发的码和Session对象中保存的码是否匹配,并将直接的内容保存于Session对象中。这个叫无刷新技术,是AJAX的核心。服务器端使用ASP等生成验证码图片,并将结果发回XMLHTTPRequest对象
提问者评价
其他类似问题
为您推荐:
其他1条回答
其次是在服务端把验证码的值MD5加密到cookie中.在客户端把用户输入的验证码用JS也MD5加密,最好的办法是ajax从服务端获验证码的值然后判断如果用JS验证验证码是否输入正确,再比较Cookie中的MD5值
javascript的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 smssdk 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信