iOS系统如何获取用户的本机手机号 / 2020-02-10

电信运营商提供的SDK可以直接从运营商数据网关中获取当前流量卡的手机号码,省去了用户输入手机号到接收短信输入验证码的整个过程,可将用户的登录耗时减少至1.5秒,大大降低了用户的使用门槛。

在使用抖音和西瓜视频APP时发现一个有趣的现象:

连接到蜂窝网络后,打开抖音或西瓜视频,点击登录,登录页面会自动填入本机手机号,可直接一键登录。

我们知道:iOS系统是没有可以直接获取用户手机号信息的API的。那么,抖音和西瓜视频是如何做到的呢?

实际上,问题的答案在登录页面就已经告诉了我们:「认证服务由中国移动提供」。

以中国移动提供的开发文档为例,通过移动提供的SDK,支持从运营商数据网关中直接获取当前流量卡的手机号码,省去了用户输入手机号到接收短信输入验证码的整个过程,可将用户的登录耗时减少至1.5秒,大大降低了用户的使用门槛。

也正是因为上述的原理,如果限制一款APP仅能使用WiFi数据而禁止使用蜂窝数据流量,则「一键登录」将无法正常工作。如果是双卡的话,仅能获取连接蜂窝数据的那一张卡。移动的这款SDK目前仅支持中国移动2/3/4G和中国电信4G,如果想将「一键登录」能力用在线上产品中,还需要集成联通、电信提供的类似的SDK,以达到覆盖中国大陆用户的目的。

移动提供的这款SDK不仅仅支持「一键登录」,还提供了本机号码校验、实名认证等能力,这对于风控和反作弊有很大帮助。

其它文章

iOS Asset Catalog and Bundle
iOS Appium自动化测试框架原理简析
iOS DeviceCheck详解
iOS 13 Scene Delegate and multiple windows
iOS Sign With Apple实践