您好,登錄后才能下訂單哦!
一、 得到用戶Appkey 和App Secret
1、 在Eclipse中創建新項目(Android Studio相同)記下包名,包名在mob后臺創建應用的時候需要。這個一定要切記!
2、 登陸mob.com短信驗證平臺 開發者服務平臺注冊成為開發者,并創建應用。
1)選擇系統的版本,Android或者ios;
2)填寫應用名稱,下載地址,選擇應用的詳細分類;
3)在開發模式完成后,正式上線的時候還需要上傳應用的簽名,這里就用到了上面的包名,最好不要后期修改,否則很是麻煩,需要做大篇幅的修改。
3、 得到用戶Appkey 和App Secret ,在你創建了新的應用的時候他會給出你對應的應用的Appkey 和App Secret。如果后期需要再進入mob.com查看Appkey 和App Secret的時候就需要點擊對應的應用名字---應用管理----應用信息,在這里可以看到應
用的所有信息,并且也可以對應用的部分信息進行修改。
4、 下載SDK,地址:http://sms.mob.com/Download
下載的壓縮包,解壓后就能得到兩個文件,一個是官方提供的sample,另一個是需要在自己項目中引用的項目文件。
二、 客戶端配置
1、 從官方下載的sdk中導入eclipse,把SMSSDK這個項目整體導入eclipse,并把它作為library在自己所創建的項目中引用。其中SMSSDK是官方提供的一個引用資源文件,這個是目前常見的一種方式,因為這樣省去了在自己的項目中大量的添加jar包,造成本身項目的體積不斷膨脹變大,使其加載速度變慢,同時還會因為有的jar包只是用到里面的很少一部分,但是卻添加的是整個jar包,造成體積冗余,資源浪費。
導入:
引用:
按照以下步驟一步步的把需要用到的資源文件引用到自己的項目
Window--------preferences---------android ---- 右側library-------Add ------ 選擇 SMSSDK----------Apply---------ok
2、打開配置文件,添加相應的權限
其中有比較常見的網絡權限,通訊錄權限,短信權限等
這些直接復制,黏貼進自己的項目就可以,都是必須要的,沒什么可說的
<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.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
3、在application中添加mob.com的Activity,這個是在官方類庫中提供的,但是因為在個人項目中需要調用,所以需要在配置文件中單獨聲明一下。
這個要特別提醒一下,千萬不要忘了,不然會提示空指針異常或者是沒有找到cn.smssdk.SMSSDKUIShell,這樣你的項目就不能運行了,如果出現了這樣的錯誤提示,可以直接到配置文件中看看有沒有漏掉這一步。
<activity
android:name="cn.smssdk.SMSSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />
下面的也是在配置文件中需要聲明的,不過這個是他們官方用來進行統計數據用得到的
<!-- 統計用,service用于保證一定能夠向服務器上傳數據 -->
<service
android:name="cn.sharesdk.analysis.server.RemoteService"
android:process=":remote" />
三、方法調用
初始化短信SDK
private void init() {
MyUtils.initInfor(this);
SMSSDK.initSDK(this, app_key, app_secret);
final Handler handler = new Handler(this);
EventHandler eventHandler = new EventHandler() {
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
handler.sendMessage(msg);
}
};
// 注冊回調監聽接口
SMSSDK.registerEventHandler(eventHandler);
flag = true;
// 獲取新好友個數
showDialog();
SMSSDK.getNewFriendsCount();
}
請求短信驗證碼
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
str_phone = phone.getText().toString();
if(str_phone.equals(""))
{
Toast.makeText(getApplicationContext(), "請輸入手機號",Toast.LENGTH_SHORT).show();
}
else if(!MyUtils.isMobileNO(str_phone))
{
Toast.makeText(getApplicationContext(), "請輸入正確的手機號格式",Toast.LENGTH_SHORT).show();
}
else
{
// 下面的代碼就是調用sdk的發送短信的方法,其中的“86”是官方中定義的,代表中國的意思
// 第二個參數表示的是需要發送短信的手機號
SMSSDK.getVerificationCode("86", str_phone);
str_str_phone = str_phone;
//發送短信之后驗證碼的按鈕才能激活
btn_.setBackgroundColor(0xff000000);
btn_.setClickable(true);
//10秒鐘內不可重點此按鈕
time.start();
}
}
});
驗證短信驗證碼是否正確
SMSSDK.submitVerificationCode("86", str_str_phone,str_captcha);
EventHandler eh=new EventHandler()
{
@Override
public void afterEvent(int event, int result, Object data) {
if (result == SMSSDK.RESULT_COMPLETE)
{
runOnUiThread(new Runnable()
{
public void run()
{
Toast.makeText(getApplicationContext(), "驗證成功!你可以修改密碼了",Toast.LENGTH_SHORT).show();
btn_.setBackgroundColor(0xffcccccc);
btn_.setClickable(false);
}
});
}
else
{
runOnUiThread(new Runnable()
{
public void run()
{
Toast.makeText(getApplicationContext(), "驗證碼錯誤!",Toast.LENGTH_SHORT).show();
btn_.setBackgroundColor(0xffcccccc);
btn_.setClickable(false);
}
});
((Throwable)data).printStackTrace();
}
}
};
SMSSDK.registerEventHandler(eh); //注冊短信回
判斷字符串是不是手機號碼的正則表達式
public static boolean isMobileNO(String mobiles) {
/*
* 移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
* 聯通:130、131、132、152、155、156、185、186 電信:133、153、180、189、(1349衛通)
* 總結起來就是第一位必定為1,第二位必定為3或5或8,其他位置的可以為0-9
*/
String telRegex = "[1][3578]\\d{9}";// "[1]"代表第1位為數字1,"[358]"代表第二位可以為3、5、8中的一個,"\\d{9}"代表后面是可以是0~9的數字,有9位。
if (TextUtils.isEmpty(mobiles))
return false;
else
return mobiles.matches(telRegex);
}
打開通信錄好友列表頁面
//這個界面的sdk自帶風格不難看,沒有修改必要
private void openFriendsUI() {
ContactsPage contactsPage = new ContactsPage();
contactsPage.show(this);
}
防止多次請求驗證碼的計時器
private Button checking;
public TimeCount(long millisInFuture, long countDownInterval,Button checking)
{
super(millisInFuture, countDownInterval);//參數依次為總時長,和計時的時間間隔
this.checking = checking;
}
@Override
public void onFinish()
{
//計時完畢時觸發
checking.setText("重新驗證");
checking.setClickable(true);
checking.setBackgroundColor(0xff000000);
}
@Override
public void onTick(long millisUntilFinished){
//計時過程顯示
checking.setClickable(false);
checking.setBackgroundColor(0xffcccccc);
checking.setText(millisUntilFinished /1000+"秒后重新驗證");
}
本服務的主要功能是發送短信驗證碼和獲取聯系人列表
1、發送短信驗證碼
選擇國家,輸入手機號,就能得到短信驗證碼
無需與短信平臺合作的繁瑣手續,SDK快速集成,集成便捷。省去了自己去跟運營商談合作,談接口等各種繁瑣的步驟
先試試發短信功能,會提示你要發送的某個手機的手機號,這里是提示你乙方發錯了,就是一個最終的確定,如果不正確可以取消小,重新輸入正確的手機號碼。
如果點擊 好 這時SDK就會向服務器提交請求,然后服務器根據你提交的信息發送短信到指定手機上,從而實現手機的定點短信發送。向服務器發送請求后,準備接收短信,這里有個緩沖界面,因為發送短信畢竟也需要一個時間間隔,同時也不能一直不間斷的發送,那樣就成了垃圾短信了,也不符合我們的初衷。
接收到了短信,最終的結果出現了,這個就是我們的終極結果,短信。得到了短信就有了驗證碼,我們就可以在我們的app中實現自己需求,完成相應的功能效果。
2、邀請通訊錄好友使用app,這個是獲取通訊錄聯系人列表后的結果,可以讀取到手機上的所有聯系人,極大的方便了app的推廣,快速匹配通訊錄好友,建立自己的朋友圈。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。