天翼免密登录功能主要是自动识别本机号码,用户只需轻轻一点,无需其他任何操作,即可登录应用。让用户快速登录。相关接入资料详见网站http://id.189.cn/。
在接入免密功能时,发现以下几个问题。耗了一天时间和技术人员沟通才得以解决,记录以下,以便所需要的人避免踩坑。
1、新生成的appID无法使用旧的sdk接入方式。因为之前旧的平台没有设置bundleID。所以需要下载最新的SDK包。SDK包地址:http://id.189.cn/api?initialSrc=/html/api_detail_391.html
2、如果设置正式环境的bundleID和测试环境的bundleID后,两个bundleID不相同的话,那么免密登录功能无法使用。需要保证两个一致。如果不一致,需要调用SDK的API写入测试bundleID。但目前的SDK又没有开放相关API。大坑。
3、在AppDelegate中设置初始化
引入头文件
#import <EAccountSDKArchive/EAccount.h>
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{
//初始化代码
NSString*kAppKey =@"xxxxx";
NSString *kAppSecret = @"xxxx";
[EAccount initWithSelfKey:kAppKey appSecret:kAppSecret appName:@"xxx"];
}
4、在需要免密登录接口中调用以下代码
LoginConfigMode *mode = [[LoginConfigMode alloc] initDefaultConfig];
[EAccount login:mode controller:nil success:^(NSDictionary * _Nonnull resultDic) {
}failure:^(NSError*_Nonnullerror) {
}];
在对应的resultDic中就可以得到对应的token值。然后送服务端解析得到手机号码。