hch
2024-03-30 8307b1b2236a36d4dfb51faf6fe3d0faedb7617c
SdkProject/channel/hygame/java/com/secondworld/sdk/BtGamePlatform.java
@@ -15,6 +15,8 @@
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Arrays;
public class BtGamePlatform extends PlatformDiff {
    @Override
@@ -44,8 +46,10 @@
    {
        //内置事件 “支付”,属性:商品类型,商品名称,商品ID,商品数量,支付渠道,币种,是否成功(必传),金额(必传)
        // 付费金额单位为元
        GameReportHelper.onEventPurchase("gift", title,
                goodsID,1, "youxitu","¥", true, (int)Math.ceil(mount));
        //mount为元,0.1折 需除以100获得真实金额,但抖音必须传元 向上取整,则充6分钱上报是1元 造成数据偏差
        int reportMoney = (int)Math.ceil(mount/100);
        LogUtil.i("unity", "reportMoney " + title + " " + reportMoney);
        GameReportHelper.onEventPurchase("gift", title, goodsID,1, "youxitu","¥", true, reportMoney);
    }
@@ -96,69 +100,17 @@
        return new String[] {};
    }
    @Override
    public void RegisterEvent(String platform) {
        GameReportHelper.onEventRegister(platform,true);
        Login();
        GameActivityProxy.I.activity.getSharedPreferences("file", Context.MODE_PRIVATE).edit()
                .putBoolean("AGREE", true)
                .apply();
    }
    @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);
                    }
                });
                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())
@@ -172,4 +124,5 @@
        AppLog.getInitConfig().setChannel(channel);
        AppLog.start();
    }
}