一键登录怎么在iOS端实现?这篇文章教会你!
发布时间:2019-10-09 11:59

在一键登录出现之前,市场上最常见的APP 注册登录方式主要有账号密码、短信验证及第三方登录。这几种方式看似常见且便捷,实则存在许多安全隐患,用户体验也相对较差。首先,短信验证码到达率低、用户操作繁琐且等待时间较长,如果遇到bug,APP就会面临被卸载的惨境。再者,短信木马、伪基站等问题都使得验证码变得越发不安全,极大降低用户的使用体验。

  而“一键登录”可以让用户使用本机号码一键登录/注册 APP,手机号码即用户账号,无需使用密码和短信验证,运营商网关直接校验手机本机号,轻松解决上述问题。那么,这么好用的功能怎么才能实现呢?今天就给大家介绍极光开发者服务产品“极光认证”。

  极光认证整合了三大运营商的一键登录功能,接入极光认证一个 SDK 就可以实现三网用户一键登录APP,并已覆盖99.9%以上的国内用户。iOS端的SDK集成操作步骤如下:

  注册极光开发者账号并做开发者认证,如果之前有用过极光推送这步可以直接省去。如果之前没用极光的其他 SDK 就要先注册账号。

  选择要开通极光认证的应用程序,在应用设置中点击左侧的[极光认证]按钮。在应用介绍中填写[应用分类] 、[应用简介]。iOS应用需要填写[Bundle ID],填写完成后点击[提交审核];

  若需要使用一键登录功能,待步骤2完成后,请在[一键登录设置]中选择要开通一键登录的平台,并填写RSA加密公钥,点击[提交审核]按钮;

  提交之后需要等待审核,审核还是挺快的,大概半个小时就通过了。首次申请,极光还会赠送 10000 多条的测试条数,可谓良心。审核通过后下载SDK参考以下步骤集成JVerification SDK。

  手动集成步骤

  1、请在自己的工程中导入下载下来SDK包当中的libs文件夹

  2、为工程添加相应的Frameworks,需要为项目添加的Frameworks如下:

   AdSupport.framework(获取 IDFA 需要;如果不使用 IDFA,请不要添加)

   CoreLocation.framework

   CFNetwork.framework

   CoreFoundation.framework

   libresolv.tbd

   libz.tbd

   libc++.1.tbd

   CoreTelephony.framework

   SystemConfiguration.framework

   Security.framework

   CoreGraphics.framework

   libsqlite3.tbd

   MobileCoreServices.framework

   位置:General 》linked Frameworks and libraries

  3. 配置-ObjC

  设置工程 TARGETS -> Build Settings -> Other Links Flags, 设置 -ObjC

  4.配置支持Http传输

  右键打开工程plist文件,加入以下代码

 <key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

  5. 请将演示Demo中JVerificationResource.bundle拖到自己的工程目录下。

  参考步骤1

  6.在项目中添加一键登录功能

   在General》identity 下配置bundleID(参考下图)

   请将以下代码添加到引用JVERIFICATIONService.h头文件的的相关类中(参考下图)

  //引入JVERIFICATIONService.h头文件

  #import "JVERIFICATIONService.h"

  // 如果需要使用 idfa 功能所需要引入的头文件(可选)

  #import<AdSupport/AdSupport.h>

   接入的JVerification SDK的应用,必须先初始化JVERIFICATIONService,否则将会无法正常使用,请将以下代码添加到合适的位置(参考下图)

  //如需使用 IDFA 功能请添加此代码并在初始化配置类中设置 advertisingId

  NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

  JVAuthConfig *config = [[JVAuthConfig alloc] init];

  config.appKey = @"your appkey";

  config.advertisingId = idfaStr;

  [JVERIFICATIONService setupWithConfig:config];

   按照集成文档添加一键登录等代码,下图仅供参考

  运行工程

  日志打印注册结果与登录结果,返回相应的UID与registrationID 即表示集成成功(参考以下日志)

2019-08-09 11:10:32.727188+0800 凯发k8娱乐login[1240:285949] | JIGUANG | I - [JIGUANGService]

  --------------------------- JVerification Log ----------------------------

  --------------------JVerification SDK Version:2.4.0--build:102------------

  --------------------JCore Lib Version:2.1.1--build:78-----------------

  -----------------AppKey:79d4c5ad142bba180ac12344-----------------------

  -----------------------------------------------------------------------

  2019-08-09 11:10:32.823700+0800 login[1240:285952] | JIGUANG | I - [JIGUANGClientController] Action - setup

  2019-08-09 11:10:32.847702+0800 login[1240:285949] | JIGUANG | I - [JIGUANGConnectManager] Action - closeConection

  2019-08-09 11:10:32.965061+0800 login[1240:285949] | JIGUANG | I - [JIGUANGRegister]

  ----- register info -----

  Appkey: 79d4c5ad142bba180ac18d2b

  token:

  advertisingIdentifier: E409D462-ED53-4901-8CB1-73807F60AA11

  2019-08-09 11:10:34.058410+0800 login[1240:285949] | JIGUANG | I - [JIGUANGTcpEventController]

  ----- register result -----

  uid: 29023815771

  registrationID:13165ffa4e7673d8bd8

  2019-08-09 11:10:34.066755+0800 login[1240:285928] 初始化结果 result:{

   code = 8000;

   content = "init success";

  }

  2019-08-09 11:10:34.107601+0800 login[1240:285949] | JIGUANG | I - [JIGUANGTcpEventController]

  ----- login result -----

  uid:29023815771

  registrationID:13165ffa4e7673d8bd8

  2019-08-09 11:10:34.132452+0800 login[1240:285949] | JIGUANG | I - [JIGUANGIDFAReport] upload advertisingIdentifier E409D462-ED53-4901-8CB1-73807F60AA11

  2019-08-09 11:10:35.080778+0800 login[1240:285950] | JIGUANG | I - [JIGUANGTcpEventController] upload advertisingIdentifier success

  2019-08-09 11:10:36.113310+0800 login[1240:285950] | JIGUANG | I - [JIGUANGConnectManager] Action - disConnect

  2019-08-09 11:10:36.113575+0800 login[1240:285950] | JIGUANG | I - [JIGUANGConnectManager] Action - closeConection

服务热线
2050206374
在线咨询
资深顾问 资深顾问