package com.ysvideo.zhibo.library_ec;
|
|
import android.app.Activity;
|
import android.app.Application;
|
import android.util.Log;
|
import android.webkit.WebResourceRequest;
|
import android.webkit.WebView;
|
import android.webkit.WebViewClient;
|
|
import com.alibaba.alibcprotocol.callback.AlibcTradeCallback;
|
import com.alibaba.alibcprotocol.param.AlibcShowParams;
|
import com.alibaba.alibcprotocol.param.AlibcTaokeParams;
|
import com.alibaba.alibcprotocol.param.OpenType;
|
import com.alibaba.baichuan.trade.common.utils.AlibcLogger;
|
import com.baichuan.nb_trade.AlibcTrade;
|
import com.baichuan.nb_trade.callback.AlibcTradeInitCallback;
|
import com.baichuan.nb_trade.core.AlibcTradeSDK;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class AlibcTradeUtil {
|
private final static String TAG = "AlibcTradeUtil";
|
|
|
/**
|
* 初始化
|
*
|
* @param application
|
* @param alibcTradeInitListener
|
*/
|
public static void init(Application application, AlibcTradeInitListener alibcTradeInitListener) {
|
Map<String, Object> params = new HashMap<>();
|
AlibcTradeSDK.asyncInit(application, params, new AlibcTradeInitCallback() {
|
@Override
|
public void onSuccess() {
|
AlibcLogger.e(TAG, "SDK初始化成功");
|
if (alibcTradeInitListener != null) {
|
alibcTradeInitListener.onSuccess();
|
}
|
}
|
|
@Override
|
public void onFailure(int code, String msg) {
|
AlibcLogger.e(TAG, "SDK初始化失败: code = " + code + ", msg = " + msg);
|
if (alibcTradeInitListener != null) {
|
alibcTradeInitListener.onFailure(code, msg);
|
}
|
}
|
});
|
|
}
|
|
/**
|
* 打开链接
|
*
|
* @param activity
|
* @param url
|
* @param showParams
|
* @param taokeParams
|
* @param trackParams
|
* @param callback
|
*/
|
public static void openUrl(Activity activity, final String url, AlibcShowParams showParams, AlibcTaokeParams taokeParams,
|
Map<String, String> trackParams, AlibcTradeCallback callback) {
|
|
if (callback == null) {
|
callback = new AlibcTradeCallback() {
|
@Override
|
public void onSuccess(int code) {
|
AlibcLogger.i(TAG, "open success: code = " + code);
|
}
|
|
@Override
|
public void onFailure(int code, String msg) {
|
AlibcLogger.e(TAG, "open fail: code = " + code + ", msg = " + msg);
|
}
|
};
|
}
|
AlibcTrade.openByUrl(activity, url, showParams, taokeParams, trackParams, callback);
|
}
|
|
|
public static void openAuthLink(Activity activity, String authUrl) {
|
AlibcShowParams showParams = new AlibcShowParams();
|
showParams.setOpenType(OpenType.Auto);
|
showParams.setNewWindow(false);
|
//设置返回小把手
|
showParams.setBackUrl("alisdk://");
|
Log.i(TAG, "openAuthLink-start");
|
|
WebViewClient client = new WebViewClient() {
|
@Override
|
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
|
Log.i(TAG, "shouldOverrideUrlLoading");
|
return super.shouldOverrideUrlLoading(view, request);
|
}
|
|
@Override
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
Log.i(TAG, url);
|
return super.shouldOverrideUrlLoading(view, url);
|
}
|
};
|
|
AlibcTrade.openByUrl(activity, authUrl, showParams,
|
null,
|
null, new AlibcTradeCallback() {
|
@Override
|
public void onSuccess(int i) {
|
|
}
|
|
@Override
|
public void onFailure(int i, final String s) {
|
Log.i(TAG, "失败回调:" + s);
|
}
|
});
|
}
|
|
interface AlibcTradeInitListener {
|
public void onSuccess();
|
|
public void onFailure(int code, String msg);
|
}
|
|
|
}
|