寫在前面
首先我要吐槽一下福州的天氣,連續(xù)下了一周的雨歹茶,感覺快要發(fā)霉了,真是無(wú)FUCK說(shuō)。下雨天就是意志消沉剪验,沒有一點(diǎn)戰(zhàn)斗力,啥都不想干岩馍。但是有一句話說(shuō)的沒錯(cuò)碉咆,DEADLINE就是第一生產(chǎn)力,數(shù)據(jù)庫(kù)報(bào)告蛀恩,操作系統(tǒng)報(bào)告疫铜,技術(shù)博客。双谆。壳咕。不干活不行了席揽。
好了吐槽完了,咋們進(jìn)入正題谓厘,開始介紹接入Mob短信驗(yàn)證的流程
第一步:進(jìn)入Mob官網(wǎng)進(jìn)行注冊(cè)并登錄
第二步:創(chuàng)建一個(gè)應(yīng)用
-
創(chuàng)建成功后會(huì)看到如下界面幌羞,然后點(diǎn)擊添加產(chǎn)品,添加我們需要的短信驗(yàn)證模塊(SMSSDK)即可
第三步:下載短信驗(yàn)證SDK竟稳,并且導(dǎo)入到你的項(xiàng)目
- 下載完成后属桦,打開壓縮包,找到SMSSDK里邊的libs目錄他爸,并將里邊的jar包和aar文件復(fù)制到你項(xiàng)目的libs目錄下面
- 然后在gradle中添加以下代碼聂宾,注意里邊的文件名和版本和上面一張圖里邊的是對(duì)應(yīng)的
- 好了,到這里前期工作已經(jīng)全部做完诊笤,現(xiàn)在可以開始進(jìn)行編碼實(shí)現(xiàn)了
第四步:編寫代碼
-
首先看一下實(shí)現(xiàn)后的效果(第一次做動(dòng)態(tài)圖有點(diǎn)丑)
-
初始化模塊系谐,這里需要輸入后兩個(gè)參數(shù)分別是App key和App secret,可以在mob管理后臺(tái)查看
-
編寫handle處理結(jié)果
-
點(diǎn)擊事件讨跟,這里要注意86代表中國(guó)
- 以上是主要步驟纪他,接下來(lái)看完整代碼
package bbh.fzu.com.picture.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import bbh.fzu.com.picture.R;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
public class MessageActivity extends AppCompatActivity implements View.OnClickListener{
private EditText phone;
private EditText code;
private Button send;
private Button verify;
private Handler hander = new Handler(){
@Override
public void handleMessage(Message msg) {
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.obj;
if (result == SMSSDK.RESULT_COMPLETE){
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE){
//right
Toast.makeText(MessageActivity.this,"驗(yàn)證成功",Toast.LENGTH_SHORT).show();
}
}else {
Toast.makeText(MessageActivity.this,"驗(yàn)證碼錯(cuò)誤",Toast.LENGTH_SHORT).show();
}
}
};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message);
inits();
initSDK();
}
private void initSDK() {
//初始化短信驗(yàn)證模塊
SMSSDK.initSDK(this,"1df128cbcbd61","40018dab2b1b42d0e68c63a8429d05e5");
EventHandler eh = new EventHandler(){
@Override
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
hander.sendMessage(msg);
}
};
SMSSDK.registerEventHandler(eh);
}
private void inits() {
phone = (EditText) findViewById(R.id.message_phone);
code = (EditText) findViewById(R.id.message_code);
send = (Button) findViewById(R.id.message_send);
verify = (Button) findViewById(R.id.message_verify);
send.setOnClickListener(this);
verify.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.message_send:
String number = phone.getText().toString().trim();
SMSSDK.getVerificationCode("86",number);
Toast.makeText(this,"驗(yàn)證碼已發(fā)送",Toast.LENGTH_SHORT).show();
break;
case R.id.message_verify:
String vNumber = phone.getText().toString().trim();
String vCode = code.getText().toString().trim();
SMSSDK.submitVerificationCode("86",vNumber,vCode);
Toast.makeText(this,"請(qǐng)等待驗(yàn)證",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
小結(jié)
通過(guò)上面幾個(gè)步驟,你就可以輕松的將mob短信驗(yàn)證模塊接入到你的應(yīng)用之中了晾匠。還有一點(diǎn)值得注意的是利用mob可以很方便的實(shí)現(xiàn)短信驗(yàn)證功能茶袒,但是每天只有20條的限制,如果要提高至無(wú)限量則需要到mob后臺(tái)提交完整的apk安裝包混聊。但是一般來(lái)說(shuō)弹谁,20條對(duì)于開發(fā)階段還是夠用的。
最后:這是第一次用簡(jiǎn)書寫文章句喜,有很多不足之處预愤,還請(qǐng)見諒。