hch
2023-12-26 aa908e55497929fb57282e97bb7dae71630d16e1
Project/qk_sdk/src/game_qk/java/com/secondworld/universalsdk/H2EngineSDK.java
@@ -19,6 +19,7 @@
import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
import android.text.method.QwertyKeyListener;
import android.util.Log;
import android.widget.Toast;
import com.quicksdk.QuickSDK;
@@ -45,8 +46,8 @@
public class H2EngineSDK
{
    private static final String TAG = "H2EngineSDK";
    private static boolean PushEnable = true;
    private static String APP_ID = "";
    private static boolean PushEnable = false;
    public static void HandleUnityMessage(String json)
    {
@@ -60,6 +61,7 @@
            switch (_code)
            {
                case CodeU2A.Init:
                    APP_ID = _json.getString("appID");
                    init(_activity);
                    break;
                case CodeU2A.CopyOneAsset:
@@ -108,8 +110,13 @@
                case CodeU2A.FreePlatformPay:
                    JSONObject _extraData = new JSONObject();
                    String _yjAppID = UniversalUtil.getMetaString(_activity, "yj_appid");
                    _extraData.put("appid", _yjAppID);
                    String _appid = com.quicksdk.Extend.getInstance().getExtrasConfig("zfappid");
                    if (_appid == "")
                    {
                        //没有打包的自定义参数则取配置表
                        _appid = APP_ID;
                    }
                    _extraData.put("appid", _appid);
                    _extraData.put("cpinfo", _json.getString("cpInfo"));
                    _extraData.put("cporderid", _json.getString("orderId"));
                    try
@@ -145,17 +152,13 @@
                        GameRoleInfo roleInfo3 = new GameRoleInfo();
                        roleInfo3.setServerID(_json.getString("sid"));
                        roleInfo3.setServerName(_json.getString("serverName"));
                        roleInfo3.setGameRoleName(_json.getString("roleName").trim().replace(" ",
                                                                                             ""));
                        roleInfo3.setGameRoleName(_json.getString("roleName").trim().replace(" ", ""));
                        roleInfo3.setGameRoleID(_json.getString("roleID"));
                        roleInfo3.setGameBalance(_json.getString("money"));
                        roleInfo3.setVipLevel(_json.getString(
                                "vipLevel"));  //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
                        roleInfo3.setVipLevel(_json.getString("vipLevel"));  //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
                        roleInfo3.setGameUserLevel(_json.getString("level"));//设置游戏角色等级
                        roleInfo3.setPartyName(_json.getString("familyName").trim().replace(" ",
                                                                                            ""));//设置帮派名称
                        roleInfo3.setRoleCreateTime(
                                _json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
                        roleInfo3.setPartyName(_json.getString("familyName").trim().replace(" ", ""));//设置帮派名称
                        roleInfo3.setRoleCreateTime(_json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
                        roleInfo3.setPartyId("1100"); //360渠道参数,设置帮派id,必须为整型字符串
                        roleInfo3.setGameRolePower("38"); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
@@ -259,6 +262,7 @@
//                                                                    .replace(" ", ""),
//                                                            _json.getString("vipLevel"),
//                                                            _json.getString("money"));
                    verifyRealName(_activity);
                    break;
                case CodeU2A.RoleLevelUp:
                    GameRoleInfo roleInfo2 = new GameRoleInfo();
@@ -464,7 +468,7 @@
            return;
        }
        PushEnable = activity.getPackageName().equals("com.xjaz.sp");
        //PushEnable = activity.getPackageName().equals("com.xjaz.sp");
        new Thread(new Runnable()
        {
@@ -523,12 +527,18 @@
                _msgStruct.clear();
                _msgStruct.put("code", CodeA2U.SdkInitComplete);
                _msgStruct.put("channelPlatform", "yj");
                String _appid = UniversalUtil.getMetaString(activity, "yj_appid");
                _msgStruct.put("channelPlatform", "quick");
                //根据appid是否相同和后台配置 可调整混服和专服
                //打包工具可添加自定义参数
                String _appid = com.quicksdk.Extend.getInstance().getExtrasConfig("zfappid");
                if (_appid == "")
                {
                    //没有打包的自定义参数则取配置表
                    _appid = APP_ID;
                }
                //通知到unity中的账号已经加上渠道ID,保证appid和spid唯一对应, 需要注意和sdk交互时使用最原始的uid
                _msgStruct.put("yj_appid", _appid);
                _msgStruct.put("yj_spid", UniversalUtil.getMetaString(activity, "yj_spid"));
                _msgStruct.put("yj_branch", UniversalUtil.getMetaInt(activity, "yj_branch"));
                _msgStruct.put("banhao", activity.getResources().getString(R.string.banhao));
                _msgStruct.put("yj_spid", _appid);
                UniversalUtil.sendMessageToUnity(_msgStruct);
                LogUtil.i(TAG, "初始化执行完毕");
@@ -539,7 +549,6 @@
    public static void onCreate(Activity activity, Bundle savedInstanceState)
    {
        QuickSDK.getInstance().setIsLandScape(true);
        Sdk.getInstance().onCreate(activity);
        try {
            // check权限
@@ -552,12 +561,13 @@
                        Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 1);
            } else {
                QuickPlatformUtil.getInstance().onCreate();
                Sdk.getInstance().init(activity,"88049844578484520615487574815873", "82414864");
                Sdk.getInstance().init(activity,"96065423134516611008224414549989", "69623854");
            }
        } catch (Exception e) {
            QuickPlatformUtil.getInstance().onCreate();
            Sdk.getInstance().init(activity, "88049844578484520615487574815873", "82414864");
            Sdk.getInstance().init(activity, "96065423134516611008224414549989", "69623854");
        }
        QuickSDK.getInstance().setIsLandScape(true);
    }
    private static boolean m_IsFocus = true;
@@ -622,4 +632,47 @@
    {
        Sdk.getInstance().onDestroy(activity);
    }
    private static void verifyRealName(final Activity activity) {
        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // 判断渠道是否支持实名认证功能
                if (com.quicksdk.Extend.getInstance().isFunctionSupported(com.quicksdk.FuncType.REAL_NAME_REGISTER)) {
                    com.quicksdk.Extend.getInstance().callFunctionWithParamsCallBack(activity, com.quicksdk.FuncType.REAL_NAME_REGISTER, new com.quicksdk.BaseCallBack() {
                        @Override
                        public void onSuccess(Object... arg0) {
                            if (arg0 != null && arg0.length > 0) {
                                JSONObject jsonObject = (JSONObject) arg0[0];
                                Log.d("json", "==========" + jsonObject.toString());
                                try {
                                    // 用户id
                                    String uid = jsonObject.getString("uid");
                                    // 年龄, 如果渠道没返回默认为-1
                                    int age = jsonObject.getInt("age");
                                    // 是否已实名 true表示已实名
                                    // false表示未实名,如果渠道没返回默认为false
                                    boolean realName = jsonObject.getBoolean("realName");
                                    // oppo实名认证失败之后是否可以继续游戏 true表示可以
                                    // false表示不可以,如果渠道没返回默认为true
                                    boolean resumeGame = jsonObject.getBoolean("resumeGame");
                                    // 预留字段,如果渠道没返回默认为""的字符串
                                    String other = jsonObject.getString("other");
                                    // 游戏根据返回信息做对应的逻辑处理
                                } catch (JSONException e) {
                                }
                            }
                        }
                        @Override
                        public void onFailed(Object... arg0) {
                        }
                    });
                }
            }
        });
    }
}