完善quick母包相关代码
This commit is contained in:
parent
d54ec1f565
commit
5b3ff870ed
@ -3,7 +3,7 @@ apply plugin: 'com.android.application'
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
defaultConfig {
|
||||
applicationId "com.dca.wjtx"
|
||||
applicationId "com.hnjc.wjtx"
|
||||
minSdkVersion 18
|
||||
targetSdkVersion 26
|
||||
versionCode 1
|
||||
|
@ -50,19 +50,6 @@
|
||||
|
||||
</activity>
|
||||
|
||||
<!-- <activity android:name=".MainActivity"-->
|
||||
<!-- android:launchMode="singleTask"-->
|
||||
<!-- android:screenOrientation="portrait"-->
|
||||
<!-- android:windowSoftInputMode="adjustPan|stateAlwaysVisible"-->
|
||||
<!-- android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"-->
|
||||
<!-- android:theme="@android:style/Theme.NoTitleBar.Fullscreen">-->
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!-- </intent-filter>-->
|
||||
<!-- </activity>-->
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -24,8 +24,10 @@ import android.widget.Toast;
|
||||
import com.hnjc.wjtx.util.AssetsUtil;
|
||||
import com.hnjc.wjtx.util.StorageUtil;
|
||||
import com.hnjc.wjtx.util.StringUtil;
|
||||
import com.quicksdk.Extend;
|
||||
import com.quicksdk.QuickSDK;
|
||||
import com.quicksdk.Sdk;
|
||||
import com.quicksdk.User;
|
||||
import com.quicksdk.entity.GameRoleInfo;
|
||||
import com.quicksdk.entity.OrderInfo;
|
||||
import com.quicksdk.entity.UserInfo;
|
||||
@ -40,14 +42,12 @@ import org.egret.egretnativeandroid.EgretNativeAndroid;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
//Android项目发布设置详见doc目录下的README_ANDROID.md
|
||||
|
||||
public class MainActivity extends Activity {
|
||||
private final String TAG = "MainActivity";
|
||||
private final String PRODUCT_CODE = "53944027057769834819388076876412";
|
||||
private final String PRODUCT_KEY = "70611892";
|
||||
private final String PRODUCT_CODE = "00625148882440283287987477259719";
|
||||
private final String PRODUCT_KEY = "87149628";
|
||||
private EgretNativeAndroid nativeAndroid;
|
||||
private ImageView launchScreenImageView = null;
|
||||
private FrameLayout rootLayout = null;
|
||||
@ -115,16 +115,19 @@ public class MainActivity extends Activity {
|
||||
}
|
||||
com.quicksdk.Sdk.getInstance().onCreate(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
com.quicksdk.Sdk.getInstance().onStart(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestart() {
|
||||
super.onRestart();
|
||||
com.quicksdk.Sdk.getInstance().onRestart(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
@ -144,16 +147,19 @@ public class MainActivity extends Activity {
|
||||
super.onStop();
|
||||
com.quicksdk.Sdk.getInstance().onStop(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
com.quicksdk.Sdk.getInstance().onDestroy(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
com.quicksdk.Sdk.getInstance().onNewIntent(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@ -201,8 +207,7 @@ public class MainActivity extends Activity {
|
||||
String val = jsonObject.getString("val");
|
||||
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
|
||||
StorageUtil.writeString(sharedPref, key, val);
|
||||
}
|
||||
catch (JSONException e) {
|
||||
} catch (JSONException e) {
|
||||
Log.e(TAG, " onState message failed to analyze");
|
||||
}
|
||||
|
||||
@ -251,8 +256,7 @@ public class MainActivity extends Activity {
|
||||
JSONObject jsonObject = new JSONObject(message);
|
||||
String state = jsonObject.getString("state");
|
||||
handleStateEvent(state);
|
||||
}
|
||||
catch (JSONException e) {
|
||||
} catch (JSONException e) {
|
||||
Log.e(TAG, " onState message failed to analyze");
|
||||
}
|
||||
|
||||
@ -263,18 +267,7 @@ public class MainActivity extends Activity {
|
||||
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(message);
|
||||
String cpOrderId = jsonObject.getString("orderId");
|
||||
String productCode = jsonObject.getString("productCode");
|
||||
int count = jsonObject.getInt("count");
|
||||
//TODO: 平台的支付
|
||||
JSONObject obj = new JSONObject();
|
||||
try {
|
||||
obj.put("errcode", 0);
|
||||
obj.put("errmsg", "");
|
||||
nativeAndroid.callExternalInterface("payResult", obj.toString());
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pay(jsonObject);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
} catch (Exception e) {
|
||||
@ -298,6 +291,35 @@ public class MainActivity extends Activity {
|
||||
*/
|
||||
nativeAndroid.setExternalInterface("reportRoleInfo", message -> {
|
||||
Log.i(TAG, "Get reportRoleInfo: " + message);
|
||||
try {
|
||||
JSONObject data = new JSONObject(message);
|
||||
GameRoleInfo roleInfo = new GameRoleInfo();
|
||||
roleInfo.setServerID(data.getString("serverId"));//数字字符串,不能含有中文字符
|
||||
roleInfo.setServerName(data.getString("serverName"));
|
||||
roleInfo.setGameRoleName(data.getString("userRoleName"));
|
||||
roleInfo.setGameRoleID(data.getString("userRoleId"));
|
||||
roleInfo.setGameBalance(data.getString("userRoleBalance"));
|
||||
roleInfo.setVipLevel(data.getString("vipLevel")); //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
|
||||
roleInfo.setGameUserLevel(data.getString("userRoleLevel")); //设置游戏角色等级
|
||||
roleInfo.setPartyName(data.getString("partyName"));//设置帮派名称
|
||||
roleInfo.setRoleCreateTime(data.getString("roleCreateTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
|
||||
roleInfo.setPartyId(data.getString("partyId")); //360渠道参数,设置帮派id,必须为整型字符串
|
||||
roleInfo.setGameRoleGender(data.getString("gameRoleGender"));//360渠道参数
|
||||
roleInfo.setGameRolePower(data.getString("gameRolePower")); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
|
||||
roleInfo.setPartyRoleId("无"); //360渠道参数,设置角色在帮派中的id
|
||||
roleInfo.setPartyRoleName("无"); //360渠道参数,设置角色在帮派中的名称
|
||||
roleInfo.setProfessionId("0"); //360渠道参数,设置角色职业id,必须为整型字符串
|
||||
roleInfo.setProfession(data.getString("job")); //360渠道参数,设置角色职业名称
|
||||
roleInfo.setFriendlist("无"); //360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
|
||||
// 创建角色
|
||||
if (data.getBoolean("isCreateRole")) {
|
||||
User.getInstance().setGameRoleInfo(MainActivity.this, roleInfo, true);
|
||||
} else {
|
||||
User.getInstance().setGameRoleInfo(MainActivity.this, roleInfo, false);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
Log.e(TAG, " onState message failed to analyze");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -312,6 +334,7 @@ public class MainActivity extends Activity {
|
||||
FrameLayout.LayoutParams.MATCH_PARENT);
|
||||
rootLayout.addView(launchScreenImageView, params);
|
||||
}
|
||||
|
||||
private void handleStateEvent(String state) {
|
||||
switch (state) {
|
||||
case "running":
|
||||
@ -321,6 +344,7 @@ public class MainActivity extends Activity {
|
||||
Log.i(TAG, state);
|
||||
}
|
||||
}
|
||||
|
||||
private void hideLoadingView() {
|
||||
rootLayout.removeView(launchScreenImageView);
|
||||
Drawable drawable = launchScreenImageView.getDrawable();
|
||||
@ -343,32 +367,35 @@ public class MainActivity extends Activity {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付
|
||||
*/
|
||||
private void pay() {
|
||||
private void pay(JSONObject data) throws JSONException {
|
||||
GameRoleInfo roleInfo = new GameRoleInfo();
|
||||
roleInfo.setServerID("1");// 服务器ID,其值必须为数字字符串
|
||||
roleInfo.setServerName("火星服务器");// 服务器名称
|
||||
roleInfo.setGameRoleName("裁决之剑");// 角色名称
|
||||
roleInfo.setGameRoleID("1121121");// 角色ID
|
||||
roleInfo.setGameUserLevel("12");// 等级
|
||||
roleInfo.setVipLevel("Vip4");// VIP等级
|
||||
roleInfo.setGameBalance("5000");// 角色现有金额
|
||||
roleInfo.setPartyName("");// 公会名字
|
||||
roleInfo.setServerID(data.getString("serverId"));// 服务器ID,其值必须为数字字符串
|
||||
roleInfo.setServerName(data.getString("userServer"));// 服务器名称
|
||||
roleInfo.setGameRoleName(data.getString("userRoleName"));// 角色名称
|
||||
roleInfo.setGameRoleID(data.getString("userRoleId"));// 角色ID
|
||||
roleInfo.setGameUserLevel(data.getString("userLevel"));// 等级
|
||||
roleInfo.setVipLevel(data.getString("vipLevel"));// VIP等级
|
||||
roleInfo.setGameBalance(data.getString("diamond"));// 角色现有金额
|
||||
roleInfo.setPartyName(data.getString("camp"));// 公会名字
|
||||
roleInfo.setRoleCreateTime(data.getString("roleCreateTime"));
|
||||
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
orderInfo.setCpOrderID(UUID.randomUUID().toString().replace("-", ""));// 游戏订单号
|
||||
orderInfo.setGoodsName("元宝");// 产品名称
|
||||
orderInfo.setCpOrderID(data.getString("cpOrderNo"));// 游戏订单号
|
||||
orderInfo.setGoodsName(data.getString("subject"));// 产品名称
|
||||
// orderInfo.setGoodsName("月卡");
|
||||
orderInfo.setCount(10);// 购买数量,如购买"10元宝"则传10
|
||||
orderInfo.setCount(data.getInt("count"));// 购买数量,如购买"10元宝"则传10
|
||||
// orderInfo.setCount(1);// 购买数量,如购买"月卡"则传1
|
||||
orderInfo.setAmount(10); // 总金额(单位为元)
|
||||
orderInfo.setGoodsID("101"); // 产品ID,用来识别购买的产品
|
||||
orderInfo.setExtrasParams("透传参数"); // 透传参数
|
||||
|
||||
orderInfo.setAmount(data.getDouble("amount")); // 总金额(单位为元)
|
||||
orderInfo.setGoodsID(data.getString("goodsId")); // 产品ID,用来识别购买的产品
|
||||
orderInfo.setGoodsDesc(data.getString("desc"));
|
||||
orderInfo.setExtrasParams(data.getString("extrasParams")); // 透传参数
|
||||
com.quicksdk.Payment.getInstance().pay(MainActivity.this, orderInfo, roleInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出
|
||||
*/
|
||||
@ -382,6 +409,7 @@ public class MainActivity extends Activity {
|
||||
(arg0, arg1) -> Sdk.getInstance().exit(MainActivity.this)).setNegativeButton("取消", null).show();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置通知,用于监听初始化,登录,注销,支付及退出功能的返回值
|
||||
*/
|
||||
@ -406,21 +434,21 @@ public class MainActivity extends Activity {
|
||||
@Override
|
||||
public void onSuccess(UserInfo userInfo) {
|
||||
if (userInfo != null) {
|
||||
int polySdkSubchannel = Extend.getInstance().getChannelType();
|
||||
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()
|
||||
+ "\n\r" + "Extend.getChannelType: " + polySdkSubchannel
|
||||
);
|
||||
|
||||
// 登录成功之后,进入游戏时,需要向渠道提交用户信息
|
||||
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));
|
||||
|
||||
obj.put("polySdkSubchannel", polySdkSubchannel + "");
|
||||
// 如果其他登陆过程中的错误, 则传入一个大于0的errorcode
|
||||
// obj.put("errorcode", 1);
|
||||
nativeAndroid.callExternalInterface("sendUidToJS", obj.toString());
|
||||
|
@ -3,12 +3,11 @@
|
||||
<string name="load_game">下载游戏资源</string>
|
||||
<string name="start_game">进入游戏</string>
|
||||
<string name="preload_path">preload</string>
|
||||
<string name="game_url">http://local/index.html?channel=8001</string>
|
||||
<string name="game_url">http://local/index.html?channel=8004</string>
|
||||
<string name="local_version">1.0.0</string>
|
||||
<string name="load_back">load_back</string>
|
||||
<string name="launch_version">获取游戏版本</string>
|
||||
<string name="launch_download">正在更新游戏资源</string>
|
||||
<string name="launch_unzip">正在解压游戏资源</string>
|
||||
<string name="polySdkChannel">8001</string>
|
||||
<string name="polySdkSubchannel">1700</string>
|
||||
<string name="polySdkChannel">8004</string>
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user