Android 手机登录和第三方登录

Android 手机登录和第三方登录

一:Android 登录
Android 应用主流登录流程对比

登录方式 登录步骤 耗时
账号+密码 注册和登录分离,登录时需输入账号和规则不尽相同的密码,非常繁琐 24s以上
手机号码+短验 输入手机号码—等待下行短验—切换到短信应用界面记忆验证码—切回应用界面输入短信验证码—点击登录 16s以上
一键登录 用户一键授权后,调用运营商网关进行号码认证和登录 1.5s

1.账号,密码登录这种越来越少了
2.短信验证码登录,现在主流的短信服务,有阿里云短信服务,MobTech(袤博)等平台
https://www.mob.com/
image.png
image.png
3.一键登录,成为主流的趋势
即通过移动认证的网络认证能力,实现APP用户无需输入帐号密码,即可使用本机手机号码自动登录的能力。利用应用层无法截取的网络层号码认证能力验证号码的真实性,本机号码自动校验是现有短信验证方式的优化,能消除现有短信验证模式等待时间长、操作繁琐和容易泄露的痛点。
一键登录的能力优势
● 降低应用注册/登录门槛,减轻用户记忆负担,提高用户体验;

● 降低对用户身份、通信行为等属性验证的繁琐步骤,助力企业完善风险管控系统

● 取号成功率高达99.9%。

● 两步完成注册登录,耗时仅需1.5秒。

● 节省企业短验成本
二:第三方登录
微信登录
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html
准备:
移动应用微信登录是基于OAuth2.0 协议标准构建的微信 OAuth2.0 授权登录系统。

在进行微信 OAuth2.0 授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的 AppID 和 AppSecret,申请微信登录且通过审核后,可开始接入流程
微信登录Android实现
第一步:依赖和权限

dependencies {
 compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:1.0.2'
 }
 
 //权限
 



第二步:接入配置
1.1AndroidManifest.xml添加一个微信Activity

 
        

注意:在应用包名+.wxapi下面放置WXEntryActivity.java。

public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
  
    private IWXAPI api;
    private String code;

    private WXEntryActivity mContext;
    private ProgressDialog mProgressDialog;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        api = WXAPIFactory.createWXAPI(this, Constant.WX_APPID,true);
      
        api.registerApp(Constant.WX_APPID);
        api.handleIntent(getIntent(), this);
    }



    @Override
    public void onReq(BaseReq baseReq) {

    }

    @Override
    protected void onNewIntent(Intent intent){
        super.onNewIntent(intent);
        api.handleIntent(intent, this);
    }


    @Override
    public void onResp(BaseResp baseResp) {
    
        switch (baseResp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
            Toast.makeText(this, "发送成功", Toast.LENGTH_SHORT).show();
                code = ((SendAuth.Resp) baseResp).code;
                //createProgressDialog();
                MyApp.isWX = true;
                MyApp.code = code;
                finish();
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
            Toast.makeText(this, "发送被拒绝", Toast.LENGTH_SHORT).show();
                finish();
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
            Toast.makeText(this, "发送取消", Toast.LENGTH_SHORT).show();
                finish();
                break;
                 case BaseResp.ErrCode.ERR_UNSUPPORT:
                Toast.makeText(this, "不支持错误", Toast.LENGTH_SHORT).show();
                break;
            default:
                Toast.makeText(this, "发送返回", Toast.LENGTH_SHORT).show();
                break;
        }
    }

    private void createProgressDialog() {
        mContext =this;
        mProgressDialog =new ProgressDialog(mContext);
        mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        mProgressDialog.setCancelable(false);
        mProgressDialog.setCanceledOnTouchOutside(false);
        mProgressDialog.setTitle("");
        mProgressDialog.setMessage("");
        mProgressDialog.show();
    }




}

AppID是什么

public class Constant {
//微信申请的AppID

    public static String WX_APPID = "wx6e0a11*******";
}

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/iOS_Development_example.html

你可能感兴趣的:(android)