一鍵登錄怎么在iOS端實現?這篇文章教會你!


在一鍵登錄出現之前,市場上最常見的APP 注冊登錄方式主要有賬號密碼、短信驗證及第三方登錄。這幾種方式看似常見且便捷,實則存在許多安全隱患,用戶體驗也相對較差。首先,短信驗證碼到達率低、用戶操作繁瑣且等待時間較長,如果遇到bug,APP就會面臨被卸載的慘境。再者,短信木馬、偽基站等問題都使得驗證碼變得越發不安全,極大降低用戶的使用體驗。

而“一鍵登錄”可以讓用戶使用本機號碼一鍵登錄/注冊 APP,手機號碼即用戶賬號,無需使用密碼和短信驗證,運營商網關直接校驗手機本機號,輕松解決上述問題。那么,這么好用的功能怎么才能實現呢?今天就給大家介紹極光開發者服務產品“極光認證”。

極光認證整合了三大運營商的一鍵登錄功能,接入極光認證一個 SDK 就可以實現三網用戶一鍵登錄APP,並已覆蓋99.9%以上的國內用戶。iOS端的SDK集成操作步驟如下:

1.注冊極光開發者賬號並做開發者認證,如果之前有用過極光推送這步可以直接省去。如果之前沒用極光的其他 SDK 就要先注冊賬號,傳送門:https://www.jiguang.cn/identify

2.選擇要開通極光認證的應用程序,在應用設置中點擊左側的[極光認證]按鈕。在應用介紹中填寫[應用分類] 、[應用簡介]。iOS應用需要填寫[Bundle ID],填寫完成后點擊[提交審核];
在這里插入圖片描述

3.若需要使用一鍵登錄功能,待步驟2完成后,請在[一鍵登錄設置]中選擇要開通一鍵登錄的平台,並填寫RSA加密公鑰,點擊[提交審核]按鈕;

4.提交之后需要等待審核,審核還是挺快的,大概半個小時就通過了。首次申請,極光還會贈送 10000 多條的測試條數,可謂良心。審核通過后下載SDK參考以下步驟集成JVerification SDK。傳送門:https://docs.jiguang.cn//jverification/resources/


手動集成步驟
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];   
    

一鍵登錄

2019-08-09 11:10:32.727188+0800 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

  • 集成成功后可點擊以上設置好的按鈕對應的接口(獲取tonken、請求授權、預取號、登錄)來體驗一鍵登錄
  • 如果您不喜歡默認的登錄頁面,極光認證SDK中提供了自定義頁面的接口,可以按照自己設計稿來修改UI 文檔參考:
    https://docs.jiguang.cn/jverification/client/android_api/#sdkui

以上就是iOS一鍵登錄SDK的集成步驟,實操下來真的很方便!想要提升用戶體驗和產品安全度的開發者不妨可以參考使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM