iOS 集成阿里百川最新版(3.1.1.96) 實現淘寶授權登錄以及調用淘寶客戶端商品詳情頁


 

 

公司最近要做第三方登錄,由於是做導購項目,必不可少的有淘寶的授權登錄。本來就是一個授權登錄,沒什么大不了的。但淘寶的無線開放業務——阿里百川更新的最新版本3.1.1.96,開發文檔不是不詳細,是很不詳細。
於是乎就自己摸着石頭過河了,還好自己搞出來了。

雖說淘寶的文檔不詳細,但有些必須的說明還是要看的。

接入之前要先看看:

准備工作
百川接入說明
SDK3.1接入文檔
這些還是有作用的。

注意事項:

1、阿里百川的依賴庫一定要添加完整了。否則會初始化失敗!

 
依賴庫

注意:貌似少了一個libsqlite.tbd庫。

2、在初始化阿里百川的時候,若沒有禁止https的網絡請求,回報下面情況,而沒有報錯

 
阿里百川初始化

3、一定要注意的是:yw_1222.jpg圖片,這張圖片是自己從阿里百川的后台,根據自己的app ID和Bundle Identifier 生成的獨有的圖片,每個應用的都不一樣。不要直接使用別人的,否則初始化失敗 。

4、下載的阿里百川最新的《百川電商sdk》,一定要記得申請API調用並開通權限。

 
申請API
 
開通權限

5、如果你集成了支付寶錢包,現在又要集成阿里百川,你會發現下面錯誤:

 
阿里百川與支付寶沖突

看到這個不要怕,這只是阿里百川中的UTDID文件與支付寶錢包沖突所致。

解決辦法很簡單:把UTDID文件刪除就OK了。

 
解決辦法

6、想做淘寶登錄都不知道添加那個頭文件了吧!在最新的3.1.1.96版本中已經引用不到#import <ALBBLoginSDK/ALBBLoginService.h>頭文件了。也沒有文檔說引用什么頭文件,只是論壇里有說查看SDK中的AlibabaAuthSDK文件。

要想引用AlibabaAuthSDK里面的文件,要添加頭文件:#import <AlibabaAuthSDK/ALBBSDK.h>即可。沒人告訴你也要費一翻周折的。

授權代碼截圖如下:

 
授權代碼截圖

代碼如下(方便復制粘貼):

//獲取授權 - (IBAction)taobaoAothBtn:(id)sender { ALBBSDK *albbSDK = [ALBBSDK sharedInstance]; [albbSDK setAppkey:@"填寫你應用的appkey"]; [albbSDK setAuthOption:NormalAuth]; [albbSDK auth:self successCallback:^(ALBBSession *session){ ALBBUser *user = [session getUser]; NSLog(@"session == %@, user.nick == %@,user.avatarUrl == %@,user.openId == %@,user.openSid == %@,user.topAccessToken == %@",session,user.nick,user.avatarUrl,user.openId,user.openSid,user.topAccessToken); } failureCallback:^(ALBBSession *session,NSError *error){ NSLog(@"session == %@,error == %@",session,error); }]; } //退出授權 - (IBAction)taobaoExitBtn:(id)sender { ALBBSDK *albbSDK = [ALBBSDK sharedInstance]; [albbSDK logout]; } 

至此淘寶的授權完成。希望有所幫助!

調用淘寶客戶端商品詳情頁

方法一:向iOS 通過URL Scheme調用淘寶客戶端商品詳情頁這篇文章說的就可以。將鏈接直接改為taobao://開頭,簡單快速,就是有點不正規。
方法二:就是使用官方的API文檔的下面的方法(詳情參看阿里百川的文檔):

/** * 使用isv自己的webview打開page,可以實現淘寶賬號免登以及電商交易支付流程 * * @param parentController webView所在的view controller. * @param webView isv自己的webview,請先設置好自己的delegate先調用本接口,否則攔截登陸等邏輯會失效 * @param page 想要打開的page * @param showParams 打開方式的一些自定義參數 * @param taoKeParams 淘客參數 * @param trackParam 鏈路跟蹤參數 * @param tradeProcessSuccessCallback 交易流程中成功回調(加購成功/發生支付) * @param tradeProcessFailedCallback 交易流程中退出或者調用發生錯誤的回調 * * @return 0: 標識跳轉到手淘打開了 1: 標識用h5打開 -1: 標識出錯 */ - (NSInteger) show:(UIViewController * __nonnull)parentController webView:(nullable UIWebView*)webView page:(id<AlibcTradePage> __nonnull)page showParams:(nullable AlibcTradeShowParams*)showParams taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams trackParam:(nullable NSDictionary*)trackParam tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult * __nullable result))onSuccess tradeProcessFailedCallback:(nullable void (^)(NSError * __nullable error))onFailure;
 


免責聲明!

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



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