mob短信验证简单集成

1.首先打开mob官网,注册mob,然后进入后台,创建app,

获取 和App Secret

这里写图片描述

2.下载SDK

下载后解压,大概是这样:

这里写图片描述

然后就将

MobCommons.jar,

MobTools.jar,

SMSSDK-2.0.1.aar,

SMSSDKGUI-2.0.1.aar

放到了app的libs目录下

然后在gradle文件中加入下面的几句话

buildgradle

3.配置AndroidManifest.xml


打开您项目的“AndroidManifest.xml”,在其中添加如下的权限:

<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" />

然后在“application”下添加如下activity:

<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>

4、添加代码

启动SDK

在您的项目启动时,调用下面的代码:

SMSSDK.initSDK(this, "您的appkey", "您的appsecret");

发送短信验证码

短信SDK内置了开源的GUI功能,您可以通过调用下面的代码打开短信验证页面:

//打开注册页面
RegisterPage registerPage = new RegisterPage();
registerPage.setRegisterCallback(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
// 解析注册结果
if (result == SMSSDK.RESULT_COMPLETE) {
@SuppressWarnings("unchecked")
HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
String country = (String) phoneMap.get("country");
String phone = (String) phoneMap.get("phone"); 

// 提交用户信息(此方法可以不调用)
registerUser(country, phone);
}
}
});
registerPage.show(context);


5、代码混淆

混淆的时候需要保留的类:

-keep class cn.smssdk.**{*;}
-keep class com.mob.**{*;}

-dontwarn com.mob.**
-dontwarn cn.smssdk.**


//***********************************************************************************************************************************

以上是简单的集成步骤,下面来看自己实现的简单例子,

主activity里就放了一个按钮,点击按钮就进入短信注册页面,这个短信注册页面是mob自带的,不需要自己写,

package myapp.czw.com.ceshi.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.HashMap;

import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;
import myapp.czw.com.ceshi.R;

public class DuanXin_yanzengActivity extends AppCompatActivity {
    Button btn1;
    TextView txt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_duan_xin_yanzeng);
        btn1= (Button) findViewById(R.id.DuanXin_yanzengActivity_btn1);
        txt= (TextView) findViewById(R.id.DuanXin_yanzengActivity_txt);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                zhuce();
            }
        });

    }

    private void zhuce() {
        //打开注册页面
        RegisterPage registerPage = new RegisterPage();
        registerPage.setRegisterCallback(new EventHandler() {
            public void afterEvent(int event, int result, Object data) {
// 解析注册结果
                if (result == SMSSDK.RESULT_COMPLETE) {
                    @SuppressWarnings("unchecked")
                    HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
                    String country = (String) phoneMap.get("country");//country是国家代码,中国的号码代号是86
                    String phone = (String) phoneMap.get("phone");//phone是电话号码
                    txt.setText("验证号码:"+phone);

// 提交用户信息(此方法可以不调用)
// registerUser(country, phone);
                }
            }
        });
        registerPage.show(DuanXin_yanzengActivity.this);
    }
}

下面是效果图,

先看注册成功之前的效果

依次是



点击下一步就会关闭当前页面,并吐司注册成功.


已注册的号码填入,还是会出现上面的界面顺序,但是输入验证码那个界面会一闪而过,调到到最后一个界面,并且不会向手机发送短信.


mob默认可以记录已经注册过的号码,如果想让手机号每次都可以重新验证,那可以在mob的后台设置里,关闭下面这项

短信设置-->

未完待续............

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值