hch
2025-07-02 aaa822b7f20f04d9ae00fff5efa6c2ec7e2cd83c
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
package com.secondworld.sdk;
 
import android.app.Activity;
import android.content.Intent;
import android.widget.Toast;
 
import androidx.annotation.NonNull;
 
import com.juefeng.sdk.juefengsdk.interf.SDKEventListener;
import com.juefeng.sdk.juefengsdk.services.bean.CreatOrderInfo;
import com.juefeng.sdk.juefengsdk.services.bean.JfOrderInfo;
import com.juefeng.sdk.juefengsdk.services.bean.LoginErrorMsg;
import com.juefeng.sdk.juefengsdk.services.bean.LogincallBack;
import com.juefeng.sdk.juefengsdk.services.bean.PayFaildInfo;
import com.juefeng.sdk.juefengsdk.services.bean.PaySuccessInfo;
import com.secondworld.sdk.utils.CodeA2U;
import com.secondworld.sdk.utils.LogUtil;
import com.juefeng.sdk.juefengsdk.JFSDK;
 
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();
    public static String uid;
    public static int viplevel;
 
    public void init(Activity activity) {
        sdkInitState = SdkInitState.LOADING;
        JFSDK.getInstance().init(activity, mSDKEventListener);
    }
 
    public void OnCreate(Activity activity) {
        JFSDK.getInstance().onCreate(GTGameMain.I.activity);
        init(activity);
    }
 
    public void onStart()
    {
        JFSDK.getInstance().onStart(GTGameMain.I.activity);
    }
 
    public void login() {
 
        switch (sdkInitState) {
            case FAILED:
            case UNKNOWN: {
                break;
            }
            case SUCCEED: {
                GameActivityProxy.I.activity.runOnUiThread(new Runnable() {
 
                    @Override
                    public void run() {
                        JFSDK.getInstance().doLogin(GTGameMain.I.activity);
                    }
                });
 
 
                break;
            }
            case LOADING: {
                Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
                break;
            }
        }
    }
 
 
    public void LogOutInitialize() {
        JFSDK.getInstance().logoutLogin(GTGameMain.I.activity);
    }
 
 
    public void pay(JfOrderInfo roleInfo) {
        JFSDK.getInstance().showPay(GTGameMain.I.activity, roleInfo);
    }
 
 
 
    public void onResume() {
        JFSDK.getInstance().onResume(GTGameMain.I.activity);
    }
    public void onPause() {
        JFSDK.getInstance().onPause(GTGameMain.I.activity);
    }
    public void onStop() {
        JFSDK.getInstance().onStop(GTGameMain.I.activity);
    }
 
    public void onDestroy() {
        //退出登录、退出游戏调用
        JFSDK.getInstance().onDestroy(GTGameMain.I.activity);
    }
 
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        JFSDK.getInstance().onActivityResult(GTGameMain.I.activity, requestCode, resultCode, data);
    }
 
    public void onRequestPermissionsResult(int requestCode,
                                           @NonNull String[] permissions, @NonNull int[] grantResults) {
        JFSDK.getInstance().onRequestPermissionsResult(GTGameMain.I.activity, requestCode, permissions, grantResults);
    }
 
 
    SDKEventListener mSDKEventListener = new SDKEventListener(){
        @Override
        public void onLoginSuccess(LogincallBack logincallBack) {//登录成功
            JFSDK.getInstance().showFloatView(GTGameMain.I.activity);
 
            try
            {
                args.clear();
                JSONObject info = new JSONObject();
                String channelID = "9996";
                uid = logincallBack.userId;
                String account = uid + "@" + channelID;
                info.put("account", account);
                info.put("userName", uid);
                info.put("token", logincallBack.token);
                args.put("info", info);
                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args);
            } catch (JSONException e) {
                e.printStackTrace();
                LogUtil.e("SdkManager 登录成功 但信息处理失败", e);
            }
 
            LogUtil.i(TAG, "login success,uid:" + uid + " userName:" + logincallBack.userName);
        }
 
        @Override
        public void onLoginFailed(LoginErrorMsg loginErrorMsg) {//登录失败
            Toast.makeText(GameAppProxy.app, "login fail " + loginErrorMsg.getCode(), Toast.LENGTH_LONG).show();
            //登录失败
            LogUtil.e("SdkManager", "登录失败:" + loginErrorMsg.getErrorMsg());
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
        }
        @Override
        public void onInitSuccess(String desc,boolean isAutoLogin) {
            sdkInitState = SdkInitState.SUCCEED;
            LogUtil.debug("SdkManager", "初始化成功");
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk);
        }
        @Override
        public void onInitFaild(String desc) {
            Toast.makeText(GameAppProxy.app,  "init fail "+desc, Toast.LENGTH_LONG).show();
            //初始化失败
            sdkInitState = SdkInitState.FAILED;
            LogUtil.e("SdkManager", "初始化失败 msg:" + desc);
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitFail);
        }
        @Override
        public void onPaySuccessCallback(PaySuccessInfo paySuccessInfo) {
            //支付成功
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk);
            }
 
        @Override
        public void onPayFaildCallback(PayFaildInfo payFaildInfo) {
            //支付失败
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayFail);
            }
 
        @Override
        public void onExit(String desc) {//退出成功
 
        }
        @Override
        public void onCancleExit(String desc) {
 
        }
        @Override
        public void onCreatedOrder(CreatOrderInfo infoBean) {
            //订单创建成功
            LogUtil.i("SdkManager", "订单创建成功");
        }
        @Override
        public void  onLogoutLogin(){//此处需回到游戏登录界面游戏方执行
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
        }
        public void onSwitchAccountSuccess(LogincallBack login)
        {
    /*此回调接口是在当SDK内部有切换帐号的功能,且切换成功时会调用,游
    戏方需要在这个回调接口中注销原来的角色数据,然后根据新的openid(参数
        login中可以获取到)来重新加载角色数据;*/
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
        }
        @Override
        public void onGameSwitchAccount()
        {
    /*此接口是在游戏内有账号切换功能点击 调用          JFSDK.getInstance().switchAccount(MainActivity.this);后回调
      游戏方账号切换逻辑需要在此回调中执行
    * */
            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
        }
 
    };
 
}