package com.secondworld.sdk;
|
|
import android.app.Activity;
|
import android.widget.Toast;
|
|
import com.secondworld.sdk.utils.CodeA2U;
|
import com.secondworld.sdk.utils.LogUtil;
|
import com.soha.sdk.LoginCallback;
|
import com.soha.sdk.LogoutCallback;
|
import com.soha.sdk.OnPayListener;
|
import com.soha.sdk.PaymentNewCallBack;
|
import com.soha.sdk.SohaSDK;
|
import com.soha.sdk.login.model.SohaLoginResult;
|
import com.soha.sdk.payment.model.IapItem;
|
import com.soha.sdk.payment.model.ListIap;
|
import com.soha.sdk.utils.SohaPopup;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
public class MySdkMgr extends PlatformSdkMgr {
|
private static final String TAG = MySdkMgr.class.getSimpleName();
|
public static MySdkMgr I = new MySdkMgr();
|
private LogoutCallback logoutCallback;
|
|
public void init(Activity activity) {
|
sdkInitState = SdkInitState.LOADING;
|
SohaSDK.getInstance().setLanguage(activity, "vi");
|
}
|
|
public void OnCreate(Activity activity) {
|
sdkInitState = SdkInitState.LOADING;
|
SohaSDK.getInstance().setLanguage(activity, "vi");
|
|
logoutCallback = new LogoutCallback() {
|
@Override
|
public void onLogout() {
|
login();
|
}
|
};
|
|
SohaSDK.getInstance().init(activity, logoutCallback);
|
}
|
|
|
public void login() {
|
GameActivityProxy.I.activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
SohaPopup.getInstance().clearAllPopup();
|
}
|
});
|
|
switch (sdkInitState) {
|
case FAILED:
|
case UNKNOWN: {
|
if (GTGameMain.I.activity != null)
|
init(GTGameMain.I.activity);
|
Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
|
break;
|
}
|
case SUCCEED: {
|
SohaSDK.getInstance().login(GTGameMain.I.activity, new LoginCallback() {
|
@Override
|
public void onSuccess(SohaLoginResult loginResult) {
|
LogUtil.i(TAG, "登录成功");
|
try {
|
args.clear();
|
JSONObject info = new JSONObject();
|
info.put("account", loginResult.getUserId());
|
info.put("game_id", "7");
|
info.put("session_id", loginResult.getAccessToken());
|
args.put("info", info);
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args);
|
} catch (JSONException e) {
|
e.printStackTrace();
|
LogUtil.e(TAG,"解析失败 但是登录成功 " + e.toString());
|
}
|
}
|
|
@Override
|
public void onError() {
|
LogUtil.e(TAG, "登录失败");
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
|
}
|
|
@Override
|
public void onCancel() {
|
LogUtil.e(TAG, "取消登录");
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
|
}
|
});
|
break;
|
}
|
case LOADING: {
|
Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
|
break;
|
}
|
}
|
}
|
|
public void setListener() {
|
// 初始化监听
|
|
}
|
|
public void getListProduct() {
|
SohaSDK.getInstance().getListProduct(new PaymentNewCallBack() {
|
@Override
|
public void onSuccess(ListIap listIap) {
|
//拼接充值编号 |
|
String orderString = "";
|
int index = 0;
|
for (IapItem item : listIap.getData())
|
{
|
if (index == 0)
|
{
|
orderString = item.getOrder_info();
|
}
|
else
|
{
|
orderString = orderString + "|" + item.getOrder_info();
|
}
|
index = index + 1;
|
}
|
|
args.clear();
|
args.put("orderInfos", orderString);
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.OrderInfoCallBack, args);
|
}
|
|
@Override
|
public void onFailure() {
|
LogUtil.e(TAG, "请求不到充值列表");
|
}
|
});
|
}
|
|
|
public void pay(String orderInfo) {
|
SohaSDK.getInstance().payProduct(GTGameMain.I.activity, orderInfo, new OnPayListener() {
|
@Override
|
public void onSuccessPaymentCoin(String transID) {
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk);
|
}
|
|
@Override
|
public void onMaintenancePayment() {
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutFail);
|
}
|
|
@Override
|
public void onFail() {
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutFail);
|
}
|
});
|
}
|
}
|