????最近公司在做一個(gè)商城的app,用到了淘寶的鏈接,當(dāng)用戶點(diǎn)擊淘寶商品時(shí),每次都要登錄淘寶賬號(hào)。這里使用了阿里百川SDK,實(shí)現(xiàn)淘寶授權(quán),? ??
????1.其實(shí)阿里百川的官方文檔已經(jīng)很不錯(cuò)了,有能力的可以自己照著開(kāi)發(fā)文檔編寫功能。網(wǎng)址:http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.H5PomY&treeId=129&articleId=105647&docType=1
????2.我自己實(shí)現(xiàn)的方法:配置方法和官方文檔一樣,
//這里是使用百川默認(rèn)的WebView實(shí)現(xiàn)的,url為打開(kāi)淘寶商品的url
public static void getAliBc(Activity activity, String url) {
? ? ? ? LogUtil.logD("百川攔截的..url:" + url);
? ? ? ? AlibcPage page = new AlibcPage(url);
? ? ? ? //阿里百川打開(kāi)web方式,有 淘寶客戶端,H5,等等? ? ? ?
AlibcShowParams showParams = new AlibcShowParams(OpenType.H5, false);
? ? ? ? //這里是淘客參數(shù),具體是啥我也不知道,感覺(jué)官網(wǎng)確實(shí)挺坑的,注釋什么的都太少了? ? ? ?
AlibcTaokeParams taokeParams = new AlibcTaokeParams("x", "x", "x");
? ? ? ? int id = AlibcTrade.show(activity, page, showParams, taokeParams, null, new AlibcTradeCallback() {
? ? ? ? ? ? @Override? ? ? ? ? ? public void onTradeSuccess(TradeResult tradeResult) {
? ? ? ? ? ? ? ? //打開(kāi)電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購(gòu),支付;支付結(jié)果)? ? ? ? ? ? ? ? LogUtil.logD("百川攔截操作成功信息回調(diào):" + tradeResult.toString() + "--");
? ? ? ? ? ? }
? ? ? ? ? ? @Override? ? ? ? ? ? public void onFailure(int code, String msg) {
? ? ? ? ? ? ? ? //打開(kāi)電商組件,用戶操作中錯(cuò)誤信息回調(diào)。code:錯(cuò)誤碼;msg:錯(cuò)誤信息? ? ? ? ? ? ? ? LogUtil.logD("錯(cuò)誤碼" + code + "錯(cuò)誤信息" + msg);
? ? ? ? ? ?}
? ? ? ? });
? ? }
//這里是用自定義的WebView,方便靈活,可以添加頭部或底部,讓網(wǎng)頁(yè)在中間顯示
public static void getAliBcWeb(Activity activity, WebView webView, WebViewClient webViewClient,WebChromeClient webChromeClient, String url) {
? ? ? ? LogUtil.logD("百川攔截的..url:" + url);
? ? ? ? AlibcPage page = new AlibcPage(url);
? ? ? ? AlibcShowParams showParams = new AlibcShowParams(OpenType.H5, false);
? ? ? ? AlibcTaokeParams taokeParams = new AlibcTaokeParams("x", "x", "x");
? ? ? ? int id = AlibcTrade.show(activity, webView, webViewClient, webChromeClient, page, showParams, taokeParams, null, new AlibcTradeCallback() {
? ? ? ? ? ? @Override? ? ? ? ? ? public void onTradeSuccess(TradeResult tradeResult) {
? ? ? ? ? ? ? ? //打開(kāi)電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購(gòu),支付;支付結(jié)果)? ? ? ? ? ? ? ? ????????????????LogUtil.logD("百川攔截操作成功信息回調(diào):" + tradeResult.toString() + "--");
? ? ? ? ? ? }
? ? ? ? ? ? @Override? ? ? ? ? ? public void onFailure(int code, String msg) {
? ? ? ? ? ? ? ? //打開(kāi)電商組件,用戶操作中錯(cuò)誤信息回調(diào)。code:錯(cuò)誤碼;msg:錯(cuò)誤信息? ? ? ? ? ? ? ? LogUtil.logD("錯(cuò)誤碼" + code + "錯(cuò)誤信息" + msg);
? ? ? ? ? ? }
? ? ? ? });
? ? }