From d54ec1f56504007edcf399f43e18bc35fba074f9 Mon Sep 17 00:00:00 2001 From: zhl Date: Mon, 21 Dec 2020 16:31:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0quick=20android=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../main/java/com/hnjc/wjtx/MainActivity.java | 72 +++++++++++++----- .../main/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 7658 bytes .../qk_game_load01.png | Bin .../qk_game_load02.png | Bin .../qk_game_load03.png | Bin .../qk_game_load04.png | Bin .../qk_game_load05.png | Bin .../qk_game_load06.png | Bin .../qk_game_load07.png | Bin .../qk_game_load08.png | Bin .../qk_game_loadbg.png | Bin app/src/main/res/values/strings.xml | 4 +- gradle.properties | 3 +- 14 files changed, 60 insertions(+), 21 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_launcher.png rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load01.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load02.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load03.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load04.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load05.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load06.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load07.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_load08.png (100%) rename app/src/main/res/{mipmap-hdpi => drawable-hdpi}/qk_game_loadbg.png (100%) diff --git a/app/build.gradle b/app/build.gradle index 91132b5..c2ab244 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { - applicationId "com.hnjc.wjtx.mi" + applicationId "com.dca.wjtx" minSdkVersion 18 targetSdkVersion 26 versionCode 1 diff --git a/app/src/main/java/com/hnjc/wjtx/MainActivity.java b/app/src/main/java/com/hnjc/wjtx/MainActivity.java index 333b9cc..017a3f6 100755 --- a/app/src/main/java/com/hnjc/wjtx/MainActivity.java +++ b/app/src/main/java/com/hnjc/wjtx/MainActivity.java @@ -22,7 +22,6 @@ import android.widget.ImageView; import android.widget.Toast; import com.hnjc.wjtx.util.AssetsUtil; -import com.hnjc.wjtx.util.IdUtil; import com.hnjc.wjtx.util.StorageUtil; import com.hnjc.wjtx.util.StringUtil; import com.quicksdk.QuickSDK; @@ -47,6 +46,8 @@ import java.util.UUID; public class MainActivity extends Activity { private final String TAG = "MainActivity"; + private final String PRODUCT_CODE = "53944027057769834819388076876412"; + private final String PRODUCT_KEY = "70611892"; private EgretNativeAndroid nativeAndroid; private ImageView launchScreenImageView = null; private FrameLayout rootLayout = null; @@ -105,7 +106,7 @@ public class MainActivity extends Activity { // 设置通知,用于监听初始化,登录,注销,支付及退出功能的返回值(必接) initQkNotifiers(); // 请将下面语句中的第二与第三个参数,替换成QuickSDK后台申请的productCode和productKey值,目前的值仅作为示例 - Sdk.getInstance().init(this, "88049844578484520615487574815873", "82414864"); + Sdk.getInstance().init(this, PRODUCT_CODE, PRODUCT_KEY); } } catch (Exception e) { // 异常 继续申请 @@ -241,17 +242,7 @@ public class MainActivity extends Activity { }); nativeAndroid.setExternalInterface("getUid", message -> { //TODO: 平台的登陆 - JSONObject obj = new JSONObject(); - try { - obj.put("openid", IdUtil.getUid(this)); - obj.put("token", ""); - // 如果其他登陆过程中的错误, 则传入一个大于0的errorcode - obj.put("errorcode", 1); - nativeAndroid.callExternalInterface("sendUidToJS", obj.toString()); - } catch (JSONException e) { - e.printStackTrace(); - nativeAndroid.callExternalInterface("loginCancel", ""); - } + com.quicksdk.User.getInstance().login(MainActivity.this); }); nativeAndroid.setExternalInterface("@onState", message -> { @@ -344,9 +335,10 @@ public class MainActivity extends Activity { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { //申请成功 initQkNotifiers(); - Sdk.getInstance().init(this, "88049844578484520615487574815873", "82414864"); + Sdk.getInstance().init(this, PRODUCT_CODE, PRODUCT_KEY); } else { //失败 这里逻辑以游戏为准 这里只是模拟申请失败 退出游戏 cp方可改为继续申请 或者其他逻辑 + nativeAndroid.exitGame(); System.exit(0); finish(); } @@ -414,22 +406,41 @@ public class MainActivity extends Activity { @Override public void onSuccess(UserInfo userInfo) { if (userInfo != null) { - Log.i(TAG, "登陆成功" + "\n\r" + "UserID: " + userInfo.getUID() + "\n\r" + "UserName: " + userInfo.getUserName() + "\n\r" - + "Token: " + userInfo.getToken()); + Log.i(TAG, "登陆成功" + "\n\r" + "UserID: " + userInfo.getUID() + + "\n\r" + "UserName: " + userInfo.getUserName() + + "\n\r" + "Token: " + userInfo.getToken() + + "\n\r" + "PlatformUid: " + userInfo.getPlatformUid() + + "\n\r" + "ChannelToken: " + userInfo.getChannelToken() + ); // 登录成功之后,进入游戏时,需要向渠道提交用户信息 - // setUserInfo(); + JSONObject obj = new JSONObject(); + try { + obj.put("openid", userInfo.getUID()); + obj.put("token", userInfo.getToken()); + obj.put("polySdkChannel", (MainActivity.this).getString(R.string.polySdkChannel)); + obj.put("polySdkSubchannel", (MainActivity.this).getString(R.string.polySdkSubchannel)); + + // 如果其他登陆过程中的错误, 则传入一个大于0的errorcode +// obj.put("errorcode", 1); + nativeAndroid.callExternalInterface("sendUidToJS", obj.toString()); + } catch (JSONException e) { + e.printStackTrace(); + nativeAndroid.callExternalInterface("loginCancel", ""); + } } } @Override public void onCancel() { Log.i(TAG, "取消登陆"); + nativeAndroid.callExternalInterface("loginCancel", ""); } @Override public void onFailed(final String message, String trace) { Log.i(TAG, "登陆失败:" + message); + nativeAndroid.callExternalInterface("loginCancel", ""); } }) @@ -439,6 +450,7 @@ public class MainActivity extends Activity { @Override public void onSuccess() { Log.i(TAG, "注销成功"); + nativeAndroid.callExternalInterface("loginOut", ""); } @Override @@ -454,6 +466,7 @@ public class MainActivity extends Activity { if (userInfo != null) { Log.i(TAG, "切换账号成功" + "\n\r" + "UserID: " + userInfo.getUID() + "\n\r" + "UserName: " + userInfo.getUserName() + "\n\r" + "Token: " + userInfo.getToken()); + nativeAndroid.callExternalInterface("changeAccount", ""); } } @@ -473,16 +486,40 @@ public class MainActivity extends Activity { @Override public void onSuccess(String sdkOrderID, String cpOrderID, String extrasParams) { Log.i(TAG, "支付成功,sdkOrderID:" + sdkOrderID + ",cpOrderID:" + cpOrderID); + JSONObject obj = new JSONObject(); + try { + obj.put("errcode", 0); + obj.put("errmsg", ""); + nativeAndroid.callExternalInterface("payResult", obj.toString()); + } catch (JSONException e) { + e.printStackTrace(); + } } @Override public void onCancel(String cpOrderID) { Log.i(TAG, "支付取消,cpOrderID:" + cpOrderID); + JSONObject obj = new JSONObject(); + try { + obj.put("errcode", 1); + obj.put("errmsg", "支付失败:" + "pay failed,cpOrderID:" + cpOrderID + ",message: 支付取消" ); + nativeAndroid.callExternalInterface("payResult", obj.toString()); + } catch (JSONException e) { + e.printStackTrace(); + } } @Override public void onFailed(String cpOrderID, String message, String trace) { Log.i(TAG, "支付失败:" + "pay failed,cpOrderID:" + cpOrderID + ",message:" + message); + JSONObject obj = new JSONObject(); + try { + obj.put("errcode", 1); + obj.put("errmsg", "支付失败:" + "pay failed,cpOrderID:" + cpOrderID + ",message:" + message); + nativeAndroid.callExternalInterface("payResult", obj.toString()); + } catch (JSONException e) { + e.printStackTrace(); + } } }) // 6.设置退出通知(必接) @@ -491,6 +528,7 @@ public class MainActivity extends Activity { @Override public void onSuccess() { // 进行游戏本身的退出操作,下面的finish()只是示例 + nativeAndroid.exitGame(); finish(); } diff --git a/app/src/main/res/drawable-hdpi/ic_launcher.png b/app/src/main/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..288b66551d1efd1f13dd06f20a67534d2df57946 GIT binary patch literal 7658 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下载游戏资源 进入游戏 preload - http://local/index.html?channel=7103 + http://local/index.html?channel=8001 1.0.0 load_back 获取游戏版本 正在更新游戏资源 正在解压游戏资源 + 8001 + 1700 diff --git a/gradle.properties b/gradle.properties index 7af682e..a7ed372 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,5 +16,4 @@ org.gradle.jvmargs=-Xmx1536m # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true -android.injected.testOnly=false -android.enableJetifier=true \ No newline at end of file +android.injected.testOnly=false \ No newline at end of file