号码认证SDK稳健接入说明

本文为您介绍如何提升号码认证功能认证成功率和流畅度,并提供相关示例代码。

重要

为确保App在使用号码认证功能的合规性与认证成功率,请您务必按照以下方式进行接口调用。

调用流程

image
  1. 启动时鉴权(提前初始化):在应用启动阶段调用setAuthSDKInfo接口完成鉴权初始化,避免在登录时因初始化耗时导致卡顿或失败。

  2. 一键登录功能调用时机:需要启动一键登录功能时,再调用相关功能接口执行后续流程。

调用示例

iOS鉴权调用示例

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    /**
     *  设置 ATAuthSDK 的秘钥信息
     *  建议该信息维护在自己服务器端
     *  放在程序入口处调用效果最佳
     */
    [[TXCommonHandler sharedInstance] setAuthSDKInfo:@"您的密钥" complete:^(NSDictionary * _Nonnull resultDic) {
          // 回调处理,示例略
    }];

}

Android鉴权调用示例

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        /*设置 ATAuthSDK 的秘钥信息,建议该信息维护在自己服务器端,放在程序入口处调用效果最佳*/
        final PhoneNumberAuthHelper authHelper = PhoneNumberAuthHelper.getInstance(this, new TokenResultListener() {
            @Override
            public void onTokenSuccess(String ret) {
            }

            @Override
            public void onTokenFailed(String ret) {
            }
        });
        authHelper.getReporter().setLoggerEnable(true);
        authHelper.setAuthSDKInfo('您的密钥');
    }

}

Harmony鉴权调用示例

export default class DemoAbility extends UIAbility {
  helper:PhoneNumberAuthHelper|undefined
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');

    /*设置 ATAuthSDK 的秘钥信息,建议该信息维护在自己服务器端,放在程序入口处调用效果最佳*/
    class TokenListener implements TokenResultListener{

      onSuccess(msg: string): void {
        console.log("numberauth:success:"+msg)
        const result:object=JSON.parse(msg)
        const code=result['_code']+''
        const token=result['_token']+''
        if(code=="600000"){
        }
      }

      onFailure(ret: string): void {
        console.log("numberauth:failure:"+ret)
      }

    }
    let listener=new TokenListener()
    this.helper=PhoneNumberAuthHelper.getInstance(getContext(this),listener)
    this.helper?.checkEnvAvailable(1)
    this.helper?.setAuthSDKInfo('您的密钥')
  }
}