Android 에서 Bmob 로 문자 인증 코드 기능 을 실현 하 는 방법 에 대한 상세 한 설명
1.다른 제3자 와 마찬가지 로 우 리 는 개발 하기 전에 준 비 를 해 야 합 니 다.
1.우선,홈 페이지 에 계 정 을 등록 합 니 다http://www.bmob.cn/
2.그리고 응용 프로그램 을 만 들 수 있 습 니 다.구체 적 으로 어떻게 해 야 하 는 지 잘 알 겠 습 니 다.(공식 조작 소개)보고 싶 지 않 으 면 저 는 간단하게 말씀 드 리 겠 습 니 다.오른쪽 상단 에 있 는'나의 콘 솔'을 클릭 하고 들 어간 후에'응용 프로그램 만 들 기'를 클릭 합 니 다.그림 과 같 습 니 다.
그 다음 에 응용 이름 을 작성 하고 아래 의 근 거 를 선택 하 며 무엇 을 선택 할 지 모 르 면 맨 아래 의 다른 것 을 선택 하면 됩 니 다.그림 과 같 습 니 다.
3.Application ID 와 REST API Key 가 져 오기;왼쪽 아래 설정 을 누 르 면 오른쪽 에 응용 키 가 있 습 니 다.
시스템 은 네 개의 값 을 생 성 해 줍 니 다.다음 과 같이 설명 합 니 다.그 중에서 Application ID 는 초기 화 할 때 사용 해 야 합 니 다.
애플 리 케 이 션 ID,SDK 초기 화 는 이 키 를 사용 해 야 합 니 다.
REST API Key,REST API 요청 에서 HTTP 헤더 정 보 는 키 중 하 나 를 추가 해 야 합 니 다.
Secret Key 는 SDK 보안 키 로 누설 할 수 없습니다.클 라 우 드 논리 테스트 클 라 우 드 코드 에 사용 해 야 합 니 다.
마스터 키,슈퍼 권한 키.개발 또는 디 버 깅 을 사용 할 때 이 키 를 사용 하여 여러 권한 을 조작 할 수 있 습 니 다.이 키 는 누설 할 수 없습니다.
4.문자 인증 코드 모델 을 만 들 고 심 사 를 통과 한 후에 사용자 정의 문자 템 플 릿 만 사용 할 수 있 습 니 다.만약 에 사용자 정의 문자 템 플 릿 의 상태 가 심사 중이 나 심사 에 실패 하면 이 방법 을 사용 하면 기본 템 플 릿 으로 인증 코드 를 보 냅 니 다.개발 자가 문자 인증 코드 템 플 릿 을 제출 할 때 다음 과 같은 몇 가 지 를 주의해 야 합 니 다.
1)、템 플 릿 에【】와[]가 있어 서 는 안 됩 니 다.그렇지 않 으 면 심사 에 통과 하지 못 합 니 다.
2)만약 에 당신 이 제출 한 문자 템 플 릿 이 발송 되 지 않 으 면 민감 한 감시 단 어 를 포함 할 수 있 습 니 다.구체 적 으로(원본 코드 와 함께 보 내 겠 습 니 다)를 조회 하여 제출 내용 이 합 법 적 인지 확인 하 겠 습 니 다.
3)하루 에 한 번 씩 같은 핸드폰 번호 로 보 내 는 문자 메 시 지 는 10 개 를 초과 해 서 는 안 됩 니 다.그렇지 않 으 면 10010 오류 가 발생 하고 다른 오류 코드 는 볼 수 있 습 니 다.문자 기능 과 관련 된 오류 코드 입 니 다.
사용자 정의 서명 지원.주:공식 서명 은 독립 된 채널 에 속 하고 사용자 정의 서명 은 공유 채널 에 속 하 며 문자 수신 속도 와 안정성 에 차이 가 있 을 수 있 습 니 다.
문자 서명 이란 문자 내용 에 포 함 된 이름 으로 서명 글자 수 는 3~8 글자 이 며 문자 가 아 닌 문자 가 있어 서 는 안 된다.
템 플 릿 내용 은 3 개의 변 수 를 지원 합 니 다:%appname%(작성 한 응용 이름),%smscode%(통 생 성 된 6 비트 인증 코드),%ttl%(인증 코드 유효 시간,단 위 는 분).
변 수 를 사용 할 필요 가 없다 면'%'를 추가 하지 않 고 실제 이름 을 직접 작성 하면 된다.
나 는 오늘 3 개의 심사 에 통과 하지 못 한 것 을 만 들 었 는데 궁금 했다.나중에 나 는 위 에 있 는 이 몇 가 지 를 보고 나 서 야 잘못 을 발견 했다.아래 그림 처럼 심사 에 통과 하지 못 한 것 이다.
5.문자 인증 코드 를 다운로드 한 SDK 를 다운로드 한 결과 안에 jar 가방 이 하나 밖 에 없 음 을 알 수 있 습 니 다.
메모:각 Bmob 계 정 에는 10 개의 무료 한도 의 문자 수량 이 테스트 에 사용 되 며,문자 메 시 지 를 구 매 해 야 계속 사용 할 수 있 습 니 다.
2.그 다음 에 클 라 이언 트 의 코드 를 쓰기 시 작 했 습 니 다.그 전에 크로스 오 버 카운트다운 에 관 한 글 을 썼 습 니 다.하지만 배치 도 간단 하 다.관건 은 아래 다.
1.jar 패 키 지 를 가 져 옵 니 다.제 가 앞에서 쓴 글 은 Android Studio 가 jar 패 키 지 를 가 져 오 는 것 에 관 한 글 입 니 다.(링크:Android Studio 에서 jar 패 키 지 를 가 져 옵 니 다(andbase.jar 를 예 로 들 면)여 기 는 간단하게 가 져 옵 니 다.jar 파일 을 libs 디 렉 터 리 아래 에 놓 고 항목 을 오른쪽 클릭 하고 open module settings 를 선택 한 다음 APP 를 선택 한 후 오른쪽 dependencies 를 클릭 한 다음 오른쪽 상단 에 있 는 추가 번 호 를 클릭 하고 두 번 째 File dependenc 를 선택 하면 창 이 팝 업 됩 니 다.아까 jar 가방 을 선택 하고 마지막 으로 OK,OK 를 누 르 십시오.
2.SMS 초기 화.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
Log.e(TAG, "onStart ");
// SMS
BmobSMS.initialize(mContext, " ? Application ID");
init();
}
3.버튼 을 누 르 면 문자 인증 코드 를 보 내 달라 고 요청 합 니 다.먼저 포석 을 봅 시다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<EditText
android:id="@+id/activity_main_et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:hint=" "/>
<Button
android:id="@+id/activity_main_btn_countdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/activity_main_et_phone"
android:layout_margin="8dp"
android:layout_centerHorizontal="true"
android:background="@drawable/shape"
android:textColor="@color/white"
android:text="@string/countdown"/>
<EditText
android:id="@+id/activity_main_et"
android:layout_below="@id/activity_main_btn_countdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint=" "/>
<Button
android:id="@+id/activity_main_btn_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_centerHorizontal="true"
android:layout_below="@id/activity_main_et"
android:background="@drawable/shape"
android:textColor="@color/white"
android:text="@string/send"/>
</RelativeLayout>
"인증 코드 가 져 오기"단추 에 클릭 이벤트 설정:카운트다운 과 문자 인증 코드 보 내기 요청
btnCountdown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//
btnCountdown.setEnabled(false);
//
startService(mIntent);
// requestSMSCode
BmobSMS.requestSMSCode(mContext, etPhone.getText().toString(), " ", new RequestSMSCodeListener() {
@Override
public void done(Integer smsId, BmobException ex) {
if (ex == null) {//
Log.e("bmob", " id:" + smsId);//
}
}
});
}
});
인증 코드
<pre name="code" class="java">btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String number = etNumber.getText().toString();
if (!TextUtils.isEmpty(number)){
<span style="white-space:pre"> </span>// verifySmsCode
BmobSMS.verifySmsCode(mContext,etPhone.getText().toString(), number, new VerifySMSCodeListener() {
@Override
public void done(BmobException ex) {
if(ex==null){//
Log.e("bmob", " ");
}else{
Log.e("bmob", " :code ="+ex.getErrorCode()+",msg = "+ex.getLocalizedMessage());
}
}
});
}
}
});
AndroidManifest.xml 에 권한 을 추가 하 는 것 을 잊 지 마 세 요:
<!-- -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- GSM(2g)、WCDMA( 3g) -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- wifi -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
나의 예 는 여기까지 썼 지만,또 하나의 지식 은 문자 발송 상 태 를 조회 하 는 것 이다.제 가 홈 페이지 에 붙 여 드릴 게 요.
// querySmsState smsId
BmobSMS.querySmsState(context, smsId, new QuerySMSStateListener() {
@Override
public void done(SmsState state, BmobException ex) {
if(ex==null){
Log.i("smile"," :"+state.getSmsState()+", :"+state.getVerifyState());
}
}
});
주의:SmsState 는 두 가지 상 태 를 포함 합 니 다:1.smsState(문자 상태):SUCCESS(발송 성공),FAIL(발송 실패),SENDING(발송 중).
2.verify State(검증 상태):true(검증 되 었 음),false(검증 되 지 않 음).
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 에서 Bmob 로 문자 인증 코드 기능 을 실현 하 는 방법 에 대한 상세 한 설명 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.