简体中文
简体中文
English
联系我们
注册
登录
layout空间导航

使用邮箱地址注册和登录安卓用户账号

更新时间:2021-12-07 02:47:00下载pdf

智能生活 App SDK 提供邮箱地址验证码登录能力。

发送验证码

该接口在 3.26.5 及之前版本的 SDK 中会有所变化,如果您使用的是旧版本 SDK,请参考 3.26.5 升级说明

接口说明

TuyaHomeSdk.getUserInstance().sendVerifyCodeWithUserName(String userName, String region, String countryCode, int type, IResultCallback callback);

参数说明

参数 说明
userName 邮箱账号
region 区域,默认填写 "" 即可
countryCode 国家码,例如 86
type 验证码类型。取值:
  • 1:使用邮箱地址注册账号时,发送验证码
  • 2:使用邮箱地址登录账号时,发送验证码
  • 3:重置邮箱地址注册的账号的密码时,发送验证码
callback 回调

校验填入的验证码

接口说明

用于注册、登录、重设密码邮箱地址账号时,校验验证码。

TuyaHomeSdk.getUserInstance().checkCodeWithUserName(String userName, String region, String countryCode, String code, int type, IResultCallback callback)

参数说明

参数 说明
userName 用户名
region 区域,默认填写 "" 即可
countryCode 国家码,例如 86
code 验证码
type 验证码类型。取值:
  • 1:使用邮箱地址注册账号时,校验验证码
  • 2:使用邮箱地址登录账号时,校验验证码
  • 3:重置邮箱地址注册的账号的密码时,校验验证码
callback 回调

使用邮箱地址注册账号

使用邮箱地址注册账号,您需要先 获取验证码

接口说明

TuyaHomeSdk.getUserInstance().registerAccountWithEmail(final String countryCode, final String email, final String passwd, final String code, final IRegisterCallback callback);

参数说明

参数 说明
countryCode 国家码,例如 86。请注意,账号一旦注册到一个国家或地区,数据无法迁移到其他国家或地区。
email 邮箱地址
passwd 密码
code 验证码
callback 回调

代码范例

//注册获取邮箱验证码
TuyaHomeSdk.getUserInstance().sendVerifyCodeWithUserName("123456@123.com", "", "86", 1, new IResultCallback() {
            @Override
            public void onError(String code, String error) {
                Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSuccess() {
                Toast.makeText(mContext, "获取验证码成功", Toast.LENGTH_SHORT).show();
            }
        });

//邮箱密码注册
TuyaHomeSdk.getUserInstance().registerAccountWithEmail("86", "123456@123.com","123456","5723", new IRegisterCallback() {
    @Override
    public void onSuccess(User user) {
        Toast.makeText(mContext, "注册成功", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onError(String code, String error) {
        Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
    }
});

使用邮箱地址和密码登录账号

接口说明

TuyaHomeSdk.getUserInstance().loginWithEmail(String countryCode, String email, String passwd, final ILoginCallback callback);
参数 说明
countryCode 国家码,例如 86
email 邮箱地址
passwd 登录密码
callback 回调

代码范例

//邮箱密码登录
TuyaHomeSdk.getUserInstance().loginWithEmail("86", "123456@123.com", "123123", new ILoginCallback() {
    @Override
    public void onSuccess(User user) {
        Toast.makeText(mContext, "登录成功,用户名:").show();
    }

    @Override
    public void onError(String code, String error) {
        Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
    }
});

使用邮箱地址和验证码登录账号

使用邮箱地址和验证码登录账号前,您需要先 获取验证码

接口说明

TuyaHomeSdk.getUserInstance().loginWithEmailCode(String countryCode, String email, String code, ILoginCallback callback);

参数说明

参数 说明
countryCode 国家码,例如 86
email 邮箱地址
code 验证码
callback 登录回调接口

示例代码

TuyaHomeSdk.getUserInstance().sendVerifyCodeWithUserName("123456@123.com", "", "86", 2, new IResultCallback() {
                @Override
                public void onError(String s, String s1) {
                    	Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onSuccess() {
                    	Toast.makeText(mContext, "获取验证码成功", Toast.LENGTH_SHORT).show();
                }
            });


 TuyaHomeSdk.getUserInstance().loginWithEmailCode("86", "123456@123.com", "5723", new ILoginCallback() {
                @Override
                public void onError(String code, String error) {
                    	Toast.makeText(mContext, error, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onSuccess(User user) {
                    	Toast.makeText(mContext, "登录成功,用户名:" +TuyaHomeSdk.getUserInstance().getUser().getUsername(), Toast.LENGTH_SHORT).show();

                }
            });

重置邮箱地址账户的密码

重置邮箱地址账户的密码前,您需要先 获取验证码

重置密码后,如果有多个 App 都同时登录了这个账号,那么其他设备上的 App 会触发 Session 失效的回调。您需要自行实现回调后的动作,如跳转到登录页面等。详情请参考 Session 过期的处理

接口说明

TuyaHomeSdk.getUserInstance().resetEmailPassword(String countryCode, final String email, final String emailCode, final String passwd, final IResetPasswordCallback callback);

参数说明

参数 说明
countryCode 国家码,例如 86
email 邮箱地址
emailCode 验证码
passwd 新密码
callback 回调

示例代码

//获取邮箱验证码
TuyaHomeSdk.getUserInstance().sendVerifyCodeWithUserName("123456@123.com", "", "86", 3, new IResultCallback() {
            @Override
            public void onError(String code, String error) {
                Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSuccess() {
                Toast.makeText(mContext, "获取验证码成功", Toast.LENGTH_SHORT).show();
            }
        });
//重置密码
TuyaHomeSdk.getUserInstance().resetEmailPassword("86", "123456@123.com", "123123""a12345", new IResetPasswordCallback() {
    @Override
    public void onSuccess() {
        Toast.makeText(mContext, "找回密码成功", Toast.LENGTH_SHORT).show();
    }
    @Override
    public void onError(String code, String error) {
        Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
    }
});