在一鍵登錄出現之前,市場上最常見的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];

-
按照集成文檔添加一鍵登錄等代碼:https://docs.jiguang.cn/jverification/client/ios_api/ 下圖僅供參考

-
運行工程
日志打印注冊結果與登錄結果,返回相應的UID與registrationID 即表示集成成功(參考以下日志)
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的集成步驟,實操下來真的很方便!想要提升用戶體驗和產品安全度的開發者不妨可以參考使用。
