| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- using System.Collections.Generic;
- using JHGameSDK;
- using UnityEngine;
- namespace GFGGame.Launcher
- {
- public class QDJHGameManagerInit : SingletonBase<QDJHGameManagerInit>
- {
- public IJHGameSDKListener _jhGameSDKListener;
- // SDK 参数
- public void InitSDK()
- {
- JHGameSDKHandler eventHandler = GameObject.Find("JHGameSDKGameObject")?.GetComponent<JHGameSDKHandler>();
- if (eventHandler == null)
- {
- GameObject gameObject = new GameObject("JHGameSDKGameObject");
- gameObject.AddComponent<JHGameSDKHandler>();
- GameObject.DontDestroyOnLoad(gameObject);
- }
- }
- // 调用JS函数的通用方法
- private void CallJSFunction(string functionName, Dictionary<string, object> parameters)
- {
- // 将参数字典转换为JSON字符串
- string jsonParams =JsonUtility.ToJson(parameters);
- // 调用JS函数
- Application.ExternalCall(functionName, jsonParams);
- }
- /// <summary>
- /// 支付相关
- /// </summary>
- /// <param name="amount">充值金额 单位为分</param>
- /// <param name="cpProductId">商品 ID</param>
- /// <param name="productName">游戏货币名(如元宝,金币)</param>
- /// <param name="notifyUrl">充值回调地址</param>
- /// <param name="serverId">用户角色所在服 id</param>
- /// <param name="serverName">用户角色所在服务器名</param>
- /// <param name="roleName">角色名字</param>
- /// <param name="roleId">角色 id</param>
- /// <param name="roleLevel">角色等级</param>
- /// <param name="vipLevel">Vip 等级</param>
- /// <param name="cpOrderId">研发订单号</param>
- /// <param name="balance">玩家余额</param>
- /// <param name="extra">透传参数字段(原样返回)</param>
- /// <param name="fighting">战力</param>
- public void Recharge(int amount, string cpProductId, string productName, string notifyUrl, string serverId,
- string serverName, string roleName, string roleId, string roleLevel,
- string vipLevel, string cpOrderId, string balance, string extra = "",
- string fighting = "")
- {
- // 构建支付参数
- var parameters = new Dictionary<string, object>
- {
- { "amount", amount },
- { "cpProductId", cpProductId },
- { "productName", productName },
- { "notifyUrl", notifyUrl },
- { "serverId", serverId },
- { "serverName", serverName },
- { "roleName", roleName },
- { "roleId", roleId },
- { "roleLevel", roleLevel },
- { "vipLevel", vipLevel },
- { "cpOrderId", cpOrderId },
- { "balance", balance },
- { "extra", extra },
- { "fighting", fighting }
- };
- // 调用JS的JHRecharge函数
- CallJSFunction("JHRecharge", parameters);
- }
- /// <summary>
- /// 创建角色
- /// </summary>
- /// <param name="roleId">角色 id</param>
- /// <param name="roleName">角色名</param>
- /// <param name="roleLevel">角色等级</param>
- /// <param name="serverId">角色所在服 id</param>
- /// <param name="serverName">角色所在服名</param>
- /// <param name="vipLevel">角色 vip 等级</param>
- /// <param name="fighting">战力值 (若无传””)</param>
- /// <param name="balance">玩家余额</param>
- /// <param name="roleCTime">创角时间</param>
- public void CreateRole(string roleId, string roleName, int roleLevel, string serverId,
- string serverName, int vipLevel, string fighting, string balance,
- string roleCTime = "")
- {
- // 构建角色创建参数
- var parameters = new Dictionary<string, object>
- {
- { "roleId", roleId },
- { "roleName", roleName },
- { "roleLevel", roleLevel },
- { "serverId", serverId },
- { "serverName", serverName },
- { "vipLevel", vipLevel },
- { "fighting", fighting },
- { "balance", balance },
- { "roleCTime", roleCTime }
- };
- // 调用JS的JHCreateRole函数
- CallJSFunction("JHCreateRole", parameters);
- }
- // 角色登录
- public void LoginRole(string roleId, string roleName, int roleLevel, string serverId,
- string serverName, int vipLevel, string fighting, string balance,
- string roleCTime = "")
- {
- // 构建角色登录参数
- var parameters = new Dictionary<string, object>
- {
- { "roleId", roleId },
- { "roleName", roleName },
- { "roleLevel", roleLevel },
- { "serverId", serverId },
- { "serverName", serverName },
- { "vipLevel", vipLevel },
- { "fighting", fighting },
- { "balance", balance },
- { "roleCTime", roleCTime }
- };
- // 调用JS的JHLoginRole函数
- CallJSFunction("JHLoginRole", parameters);
- }
- // 角色升级
- public void UpgradeRole(string roleId, string roleName, int roleLevel, string serverId,
- string serverName, int vipLevel, string fighting, string balance,
- string roleCTime = "")
- {
- // 构建角色升级参数
- var parameters = new Dictionary<string, object>
- {
- { "roleId", roleId },
- { "roleName", roleName },
- { "roleLevel", roleLevel },
- { "serverId", serverId },
- { "serverName", serverName },
- { "vipLevel", vipLevel },
- { "fighting", fighting },
- { "balance", balance },
- { "roleCTime", roleCTime }
- };
- // 调用JS的JHUpgradeRole函数
- CallJSFunction("JHUpgradeRole", parameters);
- }
- // 顶号处理
- public void RepeatLogin()
- {
- // 调用JS的JHRepeatLogin函数
- CallJSFunction("JHRepeatLogin", new Dictionary<string, object>());
- }
- // 备案跳转
- public void CallIcpBeian()
- {
- // 调用JS的JHCallIcpBeian函数
- CallJSFunction("JHCallIcpBeian", new Dictionary<string, object>());
- }
- public class JHGameSDKHandler : AbJHGameSDKHandler
- {
- /// <summary>
- /// 测试消息
- /// </summary>
- /// <param name="message"></param>
- public override void ReceiveMessageAb(string message)
- {
- Debug.Log($"ReceiveMessageAb:{message}");
- }
- //通知Unity准备支付
- public override void OnRechargeStartAb(string message)
- {
- Debug.Log($"OnRechargeStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeStartAb(message);
- }
- //支付完成后通知Unity
- public override void OnRechargeCompleteAb(string message)
- {
- Debug.Log($"OnRechargeCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeCompleteAb(message);
- }
- //支付错误
- public override void OnRechargeErrorAb(string message)
- {
- Debug.Log($"OnRechargeErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeErrorAb(message);
- }
- //创建角色实例化完成
- public override void OnCreateRoleStartAb(string message)
- {
- Debug.Log($"OnCreateRoleStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleStartAb(message);
- }
- //创建角色结果
- public override void OnCreateRoleCompleteAb(string message)
- {
- Debug.Log($"OnCreateRoleCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleCompleteAb(message);
- }
- //创建角色错误
- public override void OnCreateRoleErrorAb(string message)
- {
- Debug.Log($"OnCreateRoleErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleErrorAb(message);
- }
- //角色登录实例化完成
- public override void OnLoginRoleStartAb(string message)
- {
- Debug.Log($"OnLoginRoleStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleStartAb(message);
- }
- //角色登录结果
- public override void OnLoginRoleCompleteAb(string message)
- {
- Debug.Log($"OnLoginRoleCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleCompleteAb(message);
- }
- //角色登录错误
- public override void OnLoginRoleErrorAb(string message)
- {
- Debug.Log($"OnLoginRoleErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleErrorAb(message);
- }
- //角色升级回调实例化完成
- public override void OnUpgradeRoleStartAb(string message)
- {
- Debug.Log($"OnUpgradeRoleStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleStartAb(message);
- }
- public override void OnUpgradeRoleCompleteAb(string message)
- {
- Debug.Log($"OnUpgradeRoleCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleCompleteAb(message);
- }
- public override void OnUpgradeRoleErrorAb(string message)
- {
- Debug.Log($"OnUpgradeRoleErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleErrorAb(message);
- }
- //顶号
- public override void OnRepeatLoginStartAb(string message)
- {
- Debug.Log($"OnRepeatLoginStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginStartAb(message);
- }
- public override void OnRepeatLoginCompleteAb(string message)
- {
- Debug.Log($"OnRepeatLoginCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginCompleteAb(message);
- }
- public override void OnRepeatLoginErrorAb(string message)
- {
- Debug.Log($"OnRepeatLoginErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginErrorAb(message);
- }
- public override void OnCallIcpBeianStartAb(string message)
- {
- Debug.Log($"OnCallIcpBeianStartAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianStartAb(message);
- }
- public override void OnCallIcpBeianCompleteAb(string message)
- {
- Debug.Log($"OnCallIcpBeianCompleteAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianCompleteAb(message);
- }
- public override void OnCallIcpBeianErrorAb(string message)
- {
- Debug.Log($"OnCallIcpBeianErrorAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianErrorAb(message);
- }
- public override void OnInitSDKParamsAb(string message)
- {
- Debug.Log($"OnInitSDKParamsAb:{message}");
- QDJHGameManagerInit.Instance._jhGameSDKListener?.OnInitSDKParamsAb(message);
- }
- }
- }
- /// <summary>
- /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值)
- /// </summary>
- public enum DouYouRoleLogReportType
- {
- /// <summary>
- /// 进入游戏
- /// </summary>
- EnterGame = 1,
- /// <summary>
- /// 创建角色
- /// </summary>
- CreateRole = 2,
- /// <summary>
- /// 角色升级
- /// </summary>
- LevelUp = 3,
- /// <summary>
- /// 退出
- /// </summary>
- ExitGame = 4,
- /// <summary>
- /// 充值
- /// </summary>
- Pay = 5
- }
- }
|