iOS開發筆記14:微博/微信登陸與分享、微信/支付寶支付

    產品中接入了微博/微信的第三方登陸分享功能、微信和支付寶的第三方支付功能,以前在開發過程當中涉及到這些部分,因而抽空將接入過程梳理了一遍。php

    1.微博、微信、支付寶SDK相關接入設置

   (1)微博SDK

      SDK下載html

      設置URL Scheme,用於從第三方應用或瀏覽器中啓動appios

  

      將SDK添加到工程中(支持CocoaPods),app啓動時(didFinishLaunchingWithOptions)註冊appkeygit

  

     重寫AppDelegate 的handleOpenURL和openURL方法,其它引用類庫等開發環境設置具體參考SDK中提供的《微博iOS平臺SDK 檔》便可。後續便可針對登陸分享場景調用SDKgithub

   (2)微信SDK

     下載地址api

     開放平臺SDK相關說明瀏覽器

    配置相關與微博SDK基本一致,設置URL Scheme、添加相關類庫、啓動時註冊appKey及重寫handleOpenURL和openURL方法。微信

    須要注意的是若是沒有安裝微信客戶端,是沒法像微博或支付寶那樣調起網頁進行操做的,因此須要使用SDK提供的方法「[WXApi isWXAppInstalled]」檢測微信是否安裝,若沒有安裝,則微信相關的操做沒法進行,微信登陸或分享的標識須要隱藏。app

   (3)支付寶SDK

     移動支付DEMO及SDK工具

     集成流程文檔

      設置URL Scheme、添加相關類庫,設置開發環境,詳細參考DEMO及集成流程文檔。

      須要特別注意的點:

     ①Header Search Paths的設置

    ②白名單設置

    ③私鑰生成

    RSA私鑰及公鑰生成 支付寶集成獲取私鑰與公鑰

    在支付寶支付sdk demo裏提供了相關工具

    2.微博登陸

   (1)發起微博受權請求,切換到微博

   (2)受權操做後返回客戶端進行相關處理

    在weibo sdk的協議方法「- (void)didReceiveWeiboResponse:(WBBaseResponse *)response」中判斷操做行爲及狀態,經過認證申請後便可去請求獲取用戶信息,得到用戶信息後再進行登陸相關處理便可

    3.微博分享

    微博分享其實就是發微博操做,對應的是一個接口,不像微信分享那樣會跳轉過去,在微信裏確認輸入信息後分享,因此在應用裏須要構建一個頁面,將分享到微博的信息先展現預覽出來,供用戶修改文字等等,點擊肯定再執行分享操做。根據分享對象構造相關參數調用接口便可

    這裏須要注意三點:

    ①微博字數限制爲140字,超過沒法分享。

    ②分享操做前須要更新access_token,防止過時致使沒法進行相關操做

    響應方法didReceiveWeiboResponse中拿到申請認證返回結果,刷新存儲access_token等值便可

    

    ③分享時圖片參數能夠是一個url或者WBImageObject,二選一便可,若是兩者都有值,則url被忽略。

    4.微信登陸

   (1)請求受權臨時票據code參數

     code在獲取access_token後失效

   (2)經過code獲取acces_token

    

   (3)根據上一步得到的access_token及openId請求獲取用戶信息,實現相關業務邏輯

    5.微信分享

    微信分享有分享到朋友圈(WXSceneTimeline)、分享到對話(WXSceneSession)兩種,最多見的也就是圖文類型的網頁。

   點擊分享的網頁,調起客戶端則在微信的協議方法「onReq」裏進行處理,根據相應規則邏輯在應用內跳轉頁面等等。

    6.微信支付

    微信支付開發文檔

    參考微信支付提供的demo進行接入,設計的是客戶端與後臺交互,由後臺來調用微信支付接口,主要流程以下:

    (1)提交訂單數據

    選擇商品並填寫相關信息後提交訂單,後臺返回訂單數據(後臺調用微信的統一下單api),後續支付時須要用到。

    (2)調起微信準備支付

    根據以前拿到的訂單數據(訂包括單id),向後臺發起微信支付的請求,拿到請求結果後調起微信客戶端準備支付

    (3)支付完成返回客戶端進行相關處理

     在「-(void) onResp:(BaseResp*)resp」方法判斷支付操做狀態,進行相應處理,例如支付成功後跳轉到訂單詳情頁給用戶展現訂單及支付信息等等。

    7.支付寶支付

    一樣,參考支付寶支付demo進行接入,客戶端與後臺交互,由後臺來調用支付寶支付的接口,主要步驟以下:

    (1)提交訂單數據

    選擇商品並填寫相關信息後提交訂單,後臺返回訂單數據。

    (2)調起支付寶客戶端或網頁準備支付

    根據以前拿到的訂單數據(訂包括單id),向後臺發起支付寶支付的請求,拿到請求結果後調起支付寶客戶端準備支付,若沒有安裝支付寶,則調用支付寶網頁進行支付。

    (3)支付完成返回客戶端進行相關處理

     在支付結果回調block中根據支付操做狀態進行相關業務邏輯處理 

   在AppDelagate的「openURL」及「handleOpenURL」中判斷支付寶支付操做,切迴應用時在回調block中作相關業務邏輯處理

相關文章
相關標籤/搜索