hch
2022-06-07 7d4a21ad37ba13e5f2b59783fc7db28751464a3b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
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);
            }
        });
    }
}