mob平臺發送驗證碼
- 第一步:注冊mob平臺賬號
- 第二步:在mob平臺配置SMSSDK環境,
- 1.點擊下圖紅色圓圈處的產品中心,
- 2.點擊立即進入,
- 3.點擊創建應用,
- 4.同意隱私服務,
- 5.創建應用,
- 6.點擊下圖紅色圓圈接入介面,
- 7.選擇SMSSDK,
- 8.獲取你的·`App Key`和`App Secret`,
- 9.點擊SDK下載,
- 10.下載SMSSDK,
- 第三步:把SMSSDK的代碼添加到android
- 1.新建一個專案,
- 2.在AndroidManifest中加入權限,
- 3.在Project的builder.grale處加入代碼,
- 4.在Moudule中builder.gradle處加入代碼
- 5.撰寫MainActivity檔案,
- 第四步:看一下專案效果,
雖然mob平臺可以實作手機驗證碼登錄 ,但是有一個弊端
每天只能發送10條驗證碼,
建議仔細觀看每一個步驟,如果一個步驟沒處理好,可能就會讓你的這個功能無法實作,相信我一定可以成功的,
第一步:注冊mob平臺賬號
因為我已經注冊了mob平臺了,也沒有多余的手機號,就不詳細說明了,注冊還是比較簡單的,下面附上mob平臺的鏈接:
mob平臺鏈接:https://www.mob.com/
第二步:在mob平臺配置SMSSDK環境,
1.點擊下圖紅色圓圈處的產品中心,

2.點擊立即進入,

3.點擊創建應用,

4.同意隱私服務,

5.創建應用,
記得圖片設定為128px*128px

如果不知道怎么設定圖片大小,可以在網上搜索一下如圖FastStone編輯器,他的安裝包我不知道放那里去了,可以自己去網上找一下,不過window自帶的畫圖軟體好像也可以設定大小(我也不是很不確定),廢話不多說,步入正題,

6.點擊下圖紅色圓圈接入介面,

7.選擇SMSSDK,
選擇如圖中的SMSSDK(秒驗這個不知道需不需要添加,我以前是添加的,不過沒什么影響,加了總比沒加好,反正不礙事),

8.獲取你的·App Key和App Secret,
建議用自己的,因為只能每一個創建的應用只能發送10條資訊,

9.點擊SDK下載,
如圖所示

10.下載SMSSDK,
步驟如圖所示,

此處的下載不是通過手動下載,而是通過通過代碼下載,這樣簡單點,

第三步:把SMSSDK的代碼添加到android
1.新建一個專案,

2.在AndroidManifest中加入權限,
如圖所示:

權限代碼如下:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
3.在Project的builder.grale處加入代碼,
如圖所示

代碼如下:
classpath "com.mob.sdk:MobSDK:2018.0319.1724"
maven { url 'https://jitpack.io' }
4.在Moudule中builder.gradle處加入代碼
記得修改為你自己的apppKey和appSecret
如果你的是android studio4.0,4.1加入如下圖代碼:

如果你是其他版本,加入下圖格式即可,只要修改為apply plugin:'com.mob.sdk'

代碼如下,根據你的版本選擇代碼:
android studio4.0.4.1版本
id 'com.mob.sdk'
其他版本
apply plugin:'com.mob.sdk'
MobSDK版本代碼如下,記得修改為你自己的appKey和appSecret,不然可能會次數不夠:
MobSDK {
appKey "31d18b327d099" //修改為你自己的appKey
appSecret "5e6a2e16f58f9c1e374acf77abb70b70" //修改為你自己的appSecret
SMSSDK {}
}
5.撰寫MainActivity檔案,
主要代碼如下:
Activity主要代碼:
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.mob.MobSDK;
import org.json.JSONException;
import org.json.JSONObject;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
public class MainActivity extends AppCompatActivity {
EventHandler handler;
EditText editText;
EditText editText1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobSDK.init(this, "31d18b327d099","5e6a2e16f58f9c1e374acf77abb70b70"); //記得此處修改為你的AppKey和AppSecret
editText=findViewById(R.id.yanzhengma);
editText1=findViewById(R.id.phone);
handler = new EventHandler(){
@Override
public void afterEvent(int event, int result, Object data) {
if (result == SMSSDK.RESULT_COMPLETE){
//回呼完成
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交驗證碼成功
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"驗證成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
});
}else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
//獲取驗證碼成功
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"驗證碼已發送", Toast.LENGTH_SHORT).show();
}
});
}else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
}
}else{
((Throwable)data).printStackTrace();
Throwable throwable = (Throwable) data;
try {
JSONObject obj = new JSONObject(throwable.getMessage());
final String des = obj.optString("detail");
if (!TextUtils.isEmpty(des)){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"提交錯誤資訊", Toast.LENGTH_SHORT).show();
}
});
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
};
SMSSDK.registerEventHandler(handler);
}
//提交驗證
public void tijiao(View view) {
String number = editText.getText().toString();
String phone=editText1.getText().toString();
SMSSDK.submitVerificationCode("86",phone,number);
}
//點擊發送驗證碼
public void play(View view) {
//獲取驗證碼
String phone=editText1.getText().toString();
SMSSDK.getVerificationCode("86",phone);
}
}
xml的主要代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/phone"
android:inputType="numberPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入手機號碼"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="發送短信驗證碼"
android:onClick="play"
/>
<EditText
android:id="@+id/yanzhengma"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入手機驗證碼"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="tijiao"
android:text="提交"
/>
</LinearLayout>
如果你感覺代碼不夠的話,我附上所有代碼專案地址:
百度網盤地址: https://pan.baidu.com/s/15JTwKU7pAP_KamWBnoXjyw
提取碼: yyur
csdn地址設定為0積分可自由下載:https://download.csdn.net/download/qq_45137584/13737566
github地址:
有時間在傳
第四步:看一下專案效果,
因為為了保護隱私,我把手機號輸入框設定為了密碼的形式,但是不會影響我們觀看效果,這個測驗可以在手機模擬器上運行,只需要輸入手機號即可,不一定要輸入是你注冊mob的那個手機號,效果如下:

因為我輸入的是本機的號碼,所有發送的驗證碼不發送到手機模擬器上面,而且手機模擬器也沒有手機號碼,所有下面附上本機接收驗證碼截圖,以驗證真實性,

恭喜你,需要的效果已經完成,如果你遇到什么問題可以提出來,因為畢竟我一個人也考慮不到這個情況,
功能雖然簡單,但是步驟并不少,只要細心肯定是可以實作的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/238099.html
標籤:其他
