
介紹
如何讓用戶根據已有的賬號來進行登錄注冊呢?在應用中集成華為AGC認證服務SDK來輕松快速地實作這個功能,
本篇內容根據官網檔案指導集成程序總結完成,關于集成步驟,官網的資料寫的有點多,現在我總結一下步驟:
1、開通華為認證服務
2、在iOS專案中集成SDK
3、設計登錄注冊頁面
4、開啟認證方式
5、注冊登錄功能開發
6、打包測驗
開通華為認證服務
在AppGallery Connect頁面點擊"我的專案",在專案的應用串列中選擇需要開通認證的應用,導航選擇"構建 > 認證服務",如果是首次使用認證服務,請點擊"立即開通"開通服務, 
集成SDK
針對Xcode開發環境,您可以通過Cocoapods集成方式將認證 SDK集成到您的Xcode開發環境中,
1. 在Xcode專案中添加當前應用的AppGallery Connect組態檔,
1) 登錄AppGallery Connect網站,點擊“我的專案”,
2) 在專案串列中找到您的專案,在專案下的應用串列中選擇您需要集成SDK的應用,
3) 點擊“專案設定”中“應用”欄下的“agconnect-services.plist”下載組態檔,
4) 將“agconnect-services.plist”檔案拷貝到應用級根目錄下,

2. 創建Podfile檔案,
打開命令列視窗,導航至Xcode專案所在的位置,創建Podfile檔案,如果已經存在,可跳過本步驟,
cd project-directory
pod init
3. 編輯Podfile檔案,
1) 集成認證SDK
編輯Podfile檔案,增加pod依賴pod ‘'AGConnectAuth',
target 'AGConnectAuthDemo' do
pod 'AGConnectAuth'
end
2) 執行 pod install,然后打開.xcworkspace檔案查看該專案,
界面設計
本次Codelab中您可以在Xcode工程中創建一個布局頁面,參照下圖進行UI設計,通過手機號、郵箱賬號進行注冊登錄, 
開啟認證方式
1. 登錄AppGallery Connect網站,點擊“我的專案”,
2. 在專案串列中找到您的專案,在專案下的應用串列中選擇您的應用,
3. 在“構建”欄下找到“ 認證服務”,在"認證方式"頁簽下“操作”一欄里,點擊啟用手機號碼、郵箱地址,

注冊登錄功能開發
1. 在將故事板的控制元件關聯到ViewController中,以便您通過輸入框獲得登錄注冊所需的引數,
@IBOutlet weak var phoneText: UITextField!//手機賬號輸入框
@IBOutlet weak var phoneVertifyText: UITextField!//手機驗證碼輸入框
@IBOutlet weak var phonePassword: UITextField!//手機賬號密碼輸入框
@IBOutlet weak var emailText: UITextField!//郵箱賬號輸入框
@IBOutlet weak var emailVertifyText: UITextField!//郵箱驗證碼輸入框
@IBOutlet weak var emailPassword: UITextField!//郵箱賬號密碼輸入框
2. 如果使用的是未注冊過的手機號,首先您需要發送驗證碼到手機,來驗證是否本人注冊,輸入手機號碼,點擊“發送驗證碼”按鈕,代碼執行到請求手機驗證碼的方法,在回傳中可以看到發送結果,
@IBAction func phoneSendVertifyCode(_ sender: Any) {
let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30)
AGCPhoneAuthProvider.requestVerifyCode(withCountryCode: "86", phoneNumber: phoneText.text ?? "", settings: setting).onSuccess { (results) in
//手機驗證碼發送成功
}.onFailure { (error) in
//手機驗證碼發送失敗
}
}
3. 手機收到驗證碼后,輸入驗證碼和您要設定的密碼,就可以進行注冊了,在頁面上點擊“register”按鈕,執行手機號注冊的方法,注冊結果您也可以在block回傳中看到,
@IBAction func register(_ sender: Any) {
AGCAuth.instance().createUser(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ?? "", verifyCode: phoneVertifyText.text ?? "").onSuccess { (result) in
//手機注冊成功
}.onFailure { (error) in
//手機注冊失敗
}
}
4. 注冊成功后,輸入您的手機號和設定的密碼,點擊“login”按鈕進行登錄,這樣您就完成了,使用AGConnectAuth進行手機號注冊登錄的步驟,
@IBAction func login(_ sender: Any) {
let credential = AGCPhoneAuthProvider.credential(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ?? "")
AGCAuth.instance().signIn(credential: credential).onSuccess { (result) in
//登錄成功
}.onFailure { (error) in
//登錄失敗
}
}
5. 如果使用的是未注冊過的郵箱賬號,首先需要發送驗證碼到郵箱來驗證,輸入郵箱號碼,點擊“發送驗證碼”按鈕,代碼執行到請求郵箱驗證碼的方法,在回傳中您也可以看到發送結果,
@IBAction func emailSendVertifyCode(_ sender: Any) {
let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30)
AGCEmailAuthProvider.requestVerifyCode(withEmail: emailText.text ?? "", settings: setting).onSuccess { (result) in
//郵箱驗證碼發送成功
}.onFailure { (error) in
//郵箱驗證碼發送失敗
}
}
6. 郵箱收到驗證碼后,輸入驗證碼和您要設定的密碼,點擊“register”按鈕,就可以完成注冊了,
@IBAction func register(_ sender: Any) {
AGCAuth.instance().createUser(withEmail: emailText.text ?? "", password: emailPassword.text ?? "", verifyCode: emailVertifyText.text ?? "").onSuccess { (result) in
//郵箱注冊成功
}.onFailure { (error) in
//郵箱注冊失敗
}
}
7. 注冊成功后,輸入您的郵箱號和設定的密碼,點擊“login”按鈕進行登錄,這樣您就完成了,使用AGConnectAuth進行郵箱注冊登錄的步驟,
@IBAction func login(_ sender: Any) {
let credential = AGCEmailAuthProvider.credential(withEmail: emailText.text ?? "", password: emailPassword.text ?? "")
AGCAuth.instance().signIn(credential: credential).onSuccess { (result) in
//登錄成功
}.onFailure { (error) in
//登錄失敗
}
}
8. 呼叫signOut方法,退出登錄狀態,
@IBAction func logout(_ sender: Any) {
AGCAuth.instance().signOut()
}
打包測驗
1. 在Xcode上點擊運行按鈕,在手機或模擬器上運行應用,輸入手機號碼,點擊“發送驗證碼”按鈕,待手機收到驗證碼,輸入驗證碼和您要設定的密碼,點擊“register”,打斷點查看是否注冊成功,注冊成功后點擊“login”,打斷點查看回傳結果,result可以看到登錄成功后的用戶資訊,

2. 驗證郵箱注冊登錄功能時,首先要點擊“logout”按鈕退出登錄狀態,否則再次登錄會失敗,輸入郵箱賬號,點擊“發送驗證碼”按鈕,輸入驗證碼和您要設定的密碼,點擊“register”,注冊成功后點擊“login”,查看result可以看到登錄成功后的用戶資訊,

總結
認證服務集成簡單,SDK依賴體積小,可以實作跨平臺的分享,Android和iOS都可以支持,不需要在不同的平臺做不同的適配了,節約作業量,
運營做推廣可以再AGC界面上創建,開發做分享功能可以在端側用代碼創建,簡直完美,
參考檔案:
華為AGC認證服務開發檔案:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-auth-introduction-0000001053732605 更多精彩內容,請見華為開發者官方論壇→https://developer.huawei.com/consumer/cn/forum/home?ha_source=sanfang
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/328030.html
標籤:其他
上一篇:android穩定性測驗
