MOB 인 스 턴 스 개발 로 문자 검증 기능 실현
먼저 저 는 인터넷 바 이 두 에서 Mob 의 홈 페이지(http://www.mob.com/)를 처음 사용 하 는 습관 적 인 문서 로 소 개 했 습 니 다.사용 방법 에 대해 여기 서 소개 한 것 은 비교적 상세 한 편 입 니 다.저 는 여기 서도 긴 말 을 하지 않 겠 습 니 다.전체 문 서 를 한 번 훑 어 보 았 는데 두 가지 방법 이 라 고 소 개 했 습 니 다.하 나 는 as 의 maven 집성,하 나 는 eclipse 의 일반 집성,회사 의 프로젝트 는 as 의 것 입 니 다.후 자 는 고려 하지 않 습 니 다.Maven 통합 방식 은 정말 초보 자 에 게 적합 합 니 다.gradle 설정 에서 만 OK 하면 됩 니 다.신경 쓰 지 말고 코드 를 먼저 붙 입 니 다.
xml 코드:
> build.gradle :
buildscript {
// MobSDK maven
repositories {
maven {
url "http://mvn.mob.com/android"
}
}
dependencies {
// MobSDK
classpath "com.mob.sdk:MobSDK:+"
}
}
app build.gradle , MobSDK , :
//
apply plugin: "com.mob.sdk"
// MobSDK SMSSDK
MobSDK {
appKey "d580ad56****"
appSecret "7fcae59a62342e7e2759e9e397**"
SMSSDK {}
}
//이 앱 키 와 앱 시 크 릿 은 mob 백 엔 드 에서 앱 을 만 들 때 가 져 오기 때문에 사용 할 때 홈 페이지 에 계 정 을 등록 하고 백 엔 드 에 들 어가 서 만 듭 니 다.이상 의 gradle 설정 을 설정 한 후에 대체적으로 smssdk 를 통합 한 셈 입 니 다.문서 에 호출 된 코드 를 제공 하고 제 demo 테스트 에 직접 복사 하여 붙 여 넣 었 습 니 다.의외로 순 조 롭 습 니 다.그러나 유일한 불만 은 이 문자 검증 인터페이스 가 너무 진부 해서 제품 쪽 이 지나 갈 수 없습니다.(게 으 름 피 우 는 마음 을 접 고)묵묵히 문 서 를 다시 연 구 했 습 니 다.gui 가 없 는 사용 방법(http://wiki.mob.com/sms-android-%E6%97%A0gui%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8/)을 보 았 습 니 다.그들 은 관련 인 터 페 이 스 를 제 공 했 습 니 다.구체 적 인 것 은 제 가 스티커 를 붙 이지 않 겠 습 니 다.여러분 은 홈 페이지 문 서 를 보 셔 도 됩 니 다.주의해 야 할 것 은 자신의 ui 라면 이전 gradle 에서 smssdk 를 설정 한 곳 에 추가 해 야 합 니 다.
SMSSDK{
gui false
}
데모 테스트 이기 때문에 ui 레이아웃 을 마음대로 썼 습 니 다.정상 적 인 테스트 를 만족 시 키 기 위해 서 좀 못 생 겼 습 니 다.다음은 인터페이스 코드 호출 입 니 다.문 서 는 초기 화 된 인 터 페 이 스 를 제공 합 니 다.registerEventHandler 는 SMSSDK 에 이벤트 수신 기 를 등록 하 는 데 사 용 됩 니 다.SMSSDK 는 개발 자가 임의의 수신 기 를 등록 할 수 있 도록 합 니 다.모든 수신 기 는 이벤트 가 실 행 될 때 메 시 지 를 받 습 니 다.다음은 제 일부 코드 입 니 다.
EventHandler 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();
}
});
}else if (event == SMSSDK.EVENT_GET_VOICE_VERIFICATION_CODE){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
}
});
}
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){
Log.i("test","test");
}
}else{
((Throwable)data).printStackTrace();
Throwable throwable = (Throwable) data;
throwable.printStackTrace();
Log.i("1234",throwable.toString());
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,des,Toast.LENGTH_SHORT).show();
}
});
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
};
SMSSDK.registerEventHandler(handler);
다음은 간단 한 전송 인증 등 인터페이스 호출 입 니 다.
findViewById(R.id.tv_test1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
phone = etVGetcode.getText().toString();
//
if (TextUtils.isEmpty(phone))
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
Log.i("1234",phone.toString());
SMSSDK.getVerificationCode("86",phone,null);
}
});
findViewById(R.id.tv_test_vcode_valiable).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//
if (TextUtils.isEmpty(phone))
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
number = etVCode.getText().toString();
if (TextUtils.isEmpty(number))
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
Log.i("1234",phone+","+number);
SMSSDK.submitVerificationCode("86",phone,number);
}
});
코드 는 사실 비교적 간단 합 니 다.테스트 의 가장 중요 한 검증 효율 입 니 다.개인 적 인 느낌 이 빠 릅 니 다.기본적으로 보 낸 지 2,3 초 만 에 받 았 습 니 다.더 중요 한 것 은 무료 입 니까?아니면 추천 할 만 한 것 입 니까?그렇게 많은 효과 도 를 보 았 습 니 다.추가 설명 구덩이:
여 기 는 mob 백 스테이지 에 문자 메시지 제품 설정 을 추가 한 곳 입 니 다.그 때 는 손 이 싸 서 잘못 열 려 서 문 자 를 받 지 못 했 습 니 다.한참 을 했 는데 도 기술 고객 센터 에 물 어 봐 서 알 게 되 었 습 니 다.여러분,조심 하 세 요.
이상 은 이번 편집장 이 정리 한 모든 내용 입 니 다.저희 에 대한 지지 에 감 사 드 립 니 다.