From f19071bd5e0007fc823f99cdfa0196391827da1e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 11 五月 2022 18:46:35 +0800 Subject: [PATCH] 'android项目完善' --- src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java | 144 +++++++++++++++++++++++++---------------------- 1 files changed, 76 insertions(+), 68 deletions(-) diff --git a/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java b/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java index 2cec914..7a1a319 100644 --- a/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java +++ b/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java @@ -1,90 +1,104 @@ package com.demo.library_ec; import android.app.Activity; -import android.app.Application; import android.util.Log; +import android.webkit.WebChromeClient; import android.webkit.WebResourceRequest; import android.webkit.WebView; import android.webkit.WebViewClient; +import android.widget.Toast; -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 com.alibaba.baichuan.android.trade.AlibcTrade; +import com.alibaba.baichuan.android.trade.model.AlibcShowParams; +import com.alibaba.baichuan.android.trade.model.OpenType; +import com.alibaba.baichuan.trade.biz.AlibcTradeCallback; +import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType; +import com.alibaba.baichuan.trade.biz.context.AlibcTradeResult; +import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams; 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 webView + * @param webViewClient + * @param webChromeClient * @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) { + public static void openByUrl(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) { + openByUrl2(activity, url, webView, webViewClient, webChromeClient, showParams, taokeParams, 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); - } - }; + private static void openByUrl2(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) { + if (showParams == null) { + showParams = new AlibcShowParams(); } - AlibcTrade.openByUrl(activity, url, showParams, taokeParams, trackParams, callback); + showParams.setOpenType(OpenType.Native); + showParams.setDegradeUrl("https://mos.m.taobao.com/activity_newer?from=pub&pid=mm_124933865_56750082_10647300249"); +// if (webView == null) + showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD); + //璁剧疆杩斿洖灏忔妸鎵� + showParams.setBackUrl("alisdk://"); +// taokeParams = null; + final Activity context = activity; + try { + if (callback != null) + AlibcTrade.openByUrl(activity, "", url, webView, + webViewClient, webChromeClient, showParams, + taokeParams, null, callback); + else + AlibcTrade.openByUrl(activity, "", url, webView, + webViewClient, webChromeClient, showParams, + taokeParams, new HashMap<>(), new AlibcTradeCallback() { + @Override + public void onTradeSuccess(AlibcTradeResult alibcTradeResult) { + Log.i("AlibcTradeUtil", alibcTradeResult.toString()); + } + + @Override + public void onFailure(int i, String s) { + Log.i("AlibcTradeUtil", i + ":" + s); + if (i == -1) { + Toast.makeText(context, s, Toast.LENGTH_LONG).show(); + } + } + }); + } catch (Error e) { + e.printStackTrace(); + } + //濡傛灉鏈畨瑁呮墜鏈烘窐瀹� +// if (!ApkUtil.checkAPP(context, "com.taobao.taobao")) { +// Toast.makeText(context, "璇峰畨瑁呮墜鏈烘窐瀹�", Toast.LENGTH_SHORT).show(); +// } } public static void openAuthLink(Activity activity, String authUrl) { + + if (activity != null) { + activity.runOnUiThread(new Runnable() { + @Override + public void run() { + openAuthLink2(activity, authUrl); + } + }); + } + } + + + private static void openAuthLink2(Activity activity, String authUrl) { AlibcShowParams showParams = new AlibcShowParams(); showParams.setOpenType(OpenType.Auto); - showParams.setNewWindow(false); + showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD); //璁剧疆杩斿洖灏忔妸鎵� showParams.setBackUrl("alisdk://"); Log.i(TAG, "openAuthLink-start"); @@ -103,12 +117,13 @@ } }; - AlibcTrade.openByUrl(activity, authUrl, showParams, - null, - null, new AlibcTradeCallback() { - @Override - public void onSuccess(int i) { + AlibcTrade.openByUrl(activity, "", authUrl, null, + client, null, showParams, + null, null, new AlibcTradeCallback() { + @Override + public void onTradeSuccess(AlibcTradeResult alibcTradeResult) { + Log.i(TAG, alibcTradeResult.toString()); } @Override @@ -117,12 +132,5 @@ } }); } - - interface AlibcTradeInitListener { - public void onSuccess(); - - public void onFailure(int code, String msg); - } - } -- Gitblit v1.8.0