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
@@ -37,18 +39,22 @@
    {
        GameReportHelper.onEventCreateGameRole(roleID);
    }
    //mount单位为分
    @Override
    public void PayEvent(String title, String goodsID, int mount)
    public void PayEvent(String title, String goodsID, double mount)
    {
        //内置事件 “支付”,属性:商品类型,商品名称,商品ID,商品数量,支付渠道,币种,是否成功(必传),金额(必传)
        // 付费金额单位为元
        GameReportHelper.onEventPurchase("gift", title,
                goodsID,1, "youxitu","¥", true, 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);
    }
    @Override
    public void PrePayEvent(String title, String goodsID, int mount)
    public void PrePayEvent(String title, String goodsID, double mount)
    {
        //关键行为
        JSONObject paramsObj = new JSONObject();
@@ -94,55 +100,17 @@
        return new String[] {};
    }
    @Override
    public void RegisterEvent(String platform) {
        GameReportHelper.onEventRegister(platform,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);
                    }
                });
                break;
            }
            case UNKNOWN:
            {
                QuickSdkMgr.I.sdkInitState = PlatformSdkMgr.SdkInitState.LOADING;
                break;
            }
            case LOADING: {
                //Toast.makeText(GameAppProxy.app, "账号登录成功后,请再次点击进入游戏", Toast.LENGTH_LONG).show();
                QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
                break;
            }
        }
        LogUtil.i("unity", "LoginSuccess");
        GameReportHelper.onEventRegister("youxitu",true);
    }
    @Override
    public void StartRequestPermission()
    {
        //QuickSdkMgr.I.requestPermissions(GameActivityProxy.I.activity);
        //获取渠道名称 context为宿主的context
        String channel = HumeSDK.getChannel(GameAppProxy.app.getApplicationContext());
        if (channel == null || channel.isEmpty())
@@ -156,4 +124,5 @@
        AppLog.getInitConfig().setChannel(channel);
        AppLog.start();
    }
}