hch
2023-10-08 88e174594ae5cc112858065129fc314b997d3aa7
0312 抖音-游戏兔最新版本
6个文件已修改
124 ■■■■■ 已修改文件
Channel/Android/hygame/debug/libs/library-debug-hygame.aar 补丁 | 查看 | 原始文档 | blame | 历史
Channel/Android/hygame/release/libs/library-release-hygame.aar 补丁 | 查看 | 原始文档 | blame | 历史
SdkProject/channel/hygame/java/com/secondworld/sdk/BtGamePlatform.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SdkProject/library/src/main/java/com/secondworld/sdk/PlatformDiff.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/Android/hygame/debug/libs/library-debug-hygame.aar
Binary files differ
Channel/Android/hygame/release/libs/library-release-hygame.aar
Binary files differ
SdkProject/channel/hygame/java/com/secondworld/sdk/BtGamePlatform.java
@@ -99,74 +99,17 @@
        return new String[] {};
    }
    @Override
    public void RegisterEvent(String platform) {
        Boolean status = GameActivityProxy.I.activity.getSharedPreferences("file",Context.MODE_PRIVATE)
                .getBoolean("AGREE",false);
        if (status == true){
            Login();
        }
    }
    @Override
    public void Login()
    public void LoginSuccess()
    {
        switch (QuickSdkMgr.I.sdkInitState) {
            case FAILED:
            {
                if (GameActivityProxy.I.activity == null)
                    return;
                if (QuickSdkMgr.I.hasPermissions(GameActivityProxy.I.activity)) {
                    //init(BtGameMain.I.activity);
                    Toast.makeText(GameAppProxy.app, "异常请重启游戏", Toast.LENGTH_LONG).show();
                }
                break;
            }
            case SUCCEED: {
                //User.getInstance().login(GameActivityProxy.I.activity);
                GameActivityProxy.I.activity.runOnUiThread(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        User.getInstance().login(GameActivityProxy.I.activity);
                        GameReportHelper.onEventRegister("youxitu",true);
                        GameActivityProxy.I.activity.getSharedPreferences("file", Context.MODE_PRIVATE).edit()
                                .putBoolean("AGREE", true)
                                .apply();
                    }
                });
                break;
            }
            case UNKNOWN:
            {
                QuickSdkMgr.I.sdkInitState = PlatformSdkMgr.SdkInitState.LOADING;
                break;
            }
            case LOADING: {
                //Toast.makeText(GameAppProxy.app, "账号登录成功后,请再次点击进入游戏", Toast.LENGTH_LONG).show();
                Boolean status = GameActivityProxy.I.activity.getSharedPreferences("file",Context.MODE_PRIVATE)
                        .getBoolean("AGREE",false);
                if (status == false) {
                    QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
                }
                break;
            }
        }
        LogUtil.i("unity", "LoginSuccess");
        GameReportHelper.onEventRegister("youxitu",true);
    }
    @Override
    public void StartRequestPermission()
    {
        //读标志 二次登录可以直接初始化
        Boolean status = GameActivityProxy.I.activity.getSharedPreferences("file",Context.MODE_PRIVATE)
                .getBoolean("AGREE",false);
        if (status == true){
            QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
        }
        //获取渠道名称 context为宿主的context
        String channel = HumeSDK.getChannel(GameAppProxy.app.getApplicationContext());
        if (channel == null || channel.isEmpty())
@@ -181,13 +124,4 @@
        AppLog.start();
    }
    @Override
    public void OnRequestPermissionsResult(int requestCode, int[] grantResults, String[] permissions)
    {
        LogUtil.i("unitysdk", "OnRequestPermissionsResult " + permissions.length);
        if (Arrays.asList(permissions).contains(Manifest.permission.READ_PHONE_STATE))
        {
            Login();
        }
    }
}
SdkProject/library/src/main/java/com/secondworld/sdk/PlatformDiff.java
@@ -17,18 +17,10 @@
    public abstract void OnCreate(Context var0); //启动成功后需要处理的逻辑,如不同sdk的汇报接口不同
    public abstract String[] platformPermission(); //请求的权限类型
    public abstract String[] platformPermission(); //请求的权限类型 ,必须处理!!!
    public abstract void RegisterEvent(String platform); //注册后需要处理的逻辑,如不同sdk的汇报接口不同
    public abstract void LoginSuccess(); //sdk登录后需要处理的逻辑,如不同sdk的汇报接口不同
    public abstract void Login(); //登录后需要处理的逻辑,如不同sdk登录流程不同
    public abstract void StartRequestPermission(); //请求权限需要处理的逻辑,如不同sdk的汇报接口不同
    //请求权限 常规quickSDK登录流程 1.游戏方弹出隐私政策等 2.游戏方请求权限,拒绝权限也可进入下一步 3.初始化quicksdk 4.登录
    //加入抖音sdk后,抖音必须在生命周期初始化,在权限请求后启动,按规定流程修改为
    // 1.游戏方弹出隐私政策等
    // 2.必须在用户主动交互应用场景才能请求权限 如在登录界面出现点击登录按钮后,初始化quicksdk
    // 3.登录
    public abstract void StartRequestPermission(); //请求权限
    public abstract void OnRequestPermissionsResult(int requestCode, int[] grantResults, String[] permissions);
}
SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java
@@ -24,7 +24,7 @@
            public void run()
            {
                LogUtil.i("SdkManager", "CmdRequestPermissionStart process");
                //QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
                QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
                PlatformDiff.I.StartRequestPermission();
            }
        });
SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -84,7 +84,6 @@
    }
    public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults, String[] permissions) {
        PlatformDiff.I.OnRequestPermissionsResult(requestCode, grantResults, permissions);
        if (requestCode != RequestCode.QUICK) return;
@@ -121,7 +120,7 @@
    public void onActivityResult(Activity activity, int requestCode) {
        if (requestCode == REQUEST_RECORD_PERMISSION_SETTING)
        {
            LogUtil.i("SdkManager", "onActivityResult");
            LogUtil.i("unity-sdk", "onActivityResult");
            requestPermissions(activity);
        }
@@ -134,7 +133,34 @@
    }
    public void login() {
        PlatformDiff.I.Login();
        switch (sdkInitState) {
            case FAILED:
            case UNKNOWN: {
                if (GameActivityProxy.I.activity == null)
                    return;
                if (hasPermissions(GameActivityProxy.I.activity)) {
                    //init(BtGameMain.I.activity);
                    Toast.makeText(GameAppProxy.app, "异常请重启游戏", Toast.LENGTH_LONG).show();
                }
                break;
            }
            case SUCCEED: {
                //User.getInstance().login(GameActivityProxy.I.activity);
                GameActivityProxy.I.activity.runOnUiThread(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        User.getInstance().login(GameActivityProxy.I.activity);
                    }
                });
                break;
            }
            case LOADING: {
                Toast.makeText(GameAppProxy.app, "正在初始化中,请稍等!", Toast.LENGTH_LONG).show();
                break;
            }
        }
    }
    public void loginOut() {
@@ -229,7 +255,6 @@
                sdkInitState = SdkInitState.SUCCEED;
                LogUtil.debug("SdkManager", "初始化成功");
                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk);
                PlatformDiff.I.RegisterEvent("youxitu");
            }
            @Override
            public void onFailed(String message, String trace) {
@@ -262,6 +287,7 @@
                    e.printStackTrace();
                    LogUtil.e("SdkManager 登录成功", e);
                }
                PlatformDiff.I.LoginSuccess();
                verifyRealName();
            }