123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- using DouYouSdk;
- using UniFramework.Event;
- using UnityEngine;
- namespace GFGGame.Launcher
- {
- public class QDDouYouManagerInitIos : SingletonBase<QDDouYouManagerInitIos>
- {
- public IDouYouSDKListenerIos douYouSDKListenerIos;
- public DouYouIosSDKHandler douYouIosSDKHandler;
- public void InitSDK(string gameId, string adId, bool showLog)
- {
- if (douYouIosSDKHandler == null)
- {
- GameObject gameObject = new GameObject("IosReceiverGameObj");
- gameObject.AddComponent<DouYouIosSDKHandler>();
- GameObject.DontDestroyOnLoad(gameObject);
- douYouIosSDKHandler =
- GameObject.Find("IosReceiverGameObj")?.GetComponent<DouYouIosSDKHandler>();
- }
- Instance.InitWithDigitMap(gameId, adId, showLog);
- }
- /// <summary>
- /// 实例化sdk
- /// </summary>
- /// <param name="gameId"></param>
- /// <param name="adId"></param>
- /// <param name="shouldLog"></param>
- public void InitWithDigitMap(string gameId, string adId, bool shouldLog)
- {
- douYouIosSDKHandler?.SDKInitWithDigitMap(gameId, adId, shouldLog);
- }
- /// <summary>
- /// 显示登录
- /// </summary>
- public void ShowLogin()
- {
- douYouIosSDKHandler?.SDKLogin();
- }
- /// <summary>
- /// 退出登录
- /// </summary>
- public void Logout()
- {
- douYouIosSDKHandler?.SDKLogout();
- }
- /// <summary>
- /// 显示支付
- /// </summary>
- /// <param name="cpOrderId">订单号</param>
- /// <param name="productPrice">订单金额(元)</param>
- /// <param name="productId">产品ID</param>
- /// <param name="productName">产品名称</param>
- /// <param name="productDesc">商品描述</param>
- /// <param name="productCount">购买数量</param>
- /// <param name="exchangeRate">比例(默认 - 1)</param>
- /// <param name="currencyName">金币</param>
- /// <param name="serverId">区服ID</param>
- /// <param name="serverName">区服名称</param>
- /// <param name="roleId">角色ID</param>
- /// <param name="roleName">角色名称</param>
- /// <param name="roleLevel">角色等级</param>
- /// <param name="roleVip">角色VIP</param>
- /// <param name="partyName">工会名称</param>
- /// <param name="roleBalence">游戏币</param>
- /// <param name="ext">透传参数</param>
- public void ShowPay(string cpOrderId, string productPrice, string productId, string productName,
- string productDesc, string productCount, string exchangeRate, string currencyName, string serverId,
- string serverName, string roleId, string roleName, string roleLevel, string roleVip, string partyName,
- string roleBalence, string ext)
- {
- Debug.Log(
- $"QDDouYouManagerInitIos.ShowPay: cpOrderId:{cpOrderId} productPrice:{productPrice} productId:{productId} productName:{productName} " +
- $"productDesc:{productDesc} productCount:{productCount} exchangeRate:{exchangeRate} serverId:{serverId} serverName:{serverName} " +
- $"roleId:{roleId} roleName:{roleName} roleLevel:{roleLevel} roleVip:{roleVip} partyName:{partyName} roleBalence:{roleBalence} other:{ext}");
- douYouIosSDKHandler.SdkPaymentWithJson(cpOrderId, productPrice, productId, productName, productDesc,
- productCount, exchangeRate, currencyName, serverId, serverName, roleId, roleName, roleLevel, roleVip,
- partyName, roleBalence, ext);
- }
- /// <summary>
- /// 上报角色信息
- /// </summary>
- /// <param name="type">数据类型(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值)</param>
- /// <param name="serverId">区服ID</param>
- /// <param name="serverName">区服名称</param>
- /// <param name="roleId">角色ID</param>
- /// <param name="roleName">角色名称</param>
- /// <param name="roleLevel">角色等级</param>
- /// <param name="roleVip">角色VIP</param>
- /// <param name="partyName">工会名称</param>
- /// <param name="roleBalence">游戏币</param>
- public void ReportRoleInfo(string type, string serverId, string serverName, string roleId, string roleName,
- string roleLevel, string roleVip, string partyName, string roleBalence)
- {
- douYouIosSDKHandler?.SDKRoleInfo(type, serverId, serverName, roleId, roleName, roleLevel, roleVip,
- partyName, roleBalence);
- }
-
- public void JumpUrl()
- {
- douYouIosSDKHandler?.SdkJumpUrl();
- Debug.Log($"DouYouIosSDKHandler SdkJumpUrl");
- }
- // 辅助方法:处理空值
- private static string HandleNullString(string value)
- {
- return string.IsNullOrEmpty(value) ? "" : value;
- }
- //监听的回调
- public class DouYouIosSDKHandler : AbDouYouSDKIosHandler
- {
- public override void SDKInitWithDigitMap(string gameId, string adId, bool shouldLog)
- {
- base.SDKInitWithDigitMap(gameId, adId, shouldLog);
- Debug.Log($"DouYouIosSDKHandler SDKInitWithDigitMap:gameId:{gameId} adId:{adId} shouldLog:{shouldLog}");
- }
- //调起登陆
- public override void SDKLogin()
- {
- base.SDKLogin();
- Debug.Log($"DouYouIosSDKHandler SDKLogin");
- }
- //退出登陆
- public override void SDKLogout()
- {
- base.SDKLogout();
- Debug.Log($"DouYouIosSDKHandler SDKLogout");
- }
- //调起支付
- public override void SdkPaymentWithJson(string cpOrderId, string productPrice, string productId,
- string productName,
- string productDesc, string productCount, string exchangeRate, string currencyName, string serverId,
- string serverName, string roleId, string roleName, string roleLevel, string roleVip, string partyName,
- string roleBalence, string ext)
- {
- base.SdkPaymentWithJson(cpOrderId, productPrice, productId, productName, productDesc,
- productCount, exchangeRate, currencyName, serverId, serverName, roleId, roleName, roleLevel,
- roleVip,
- partyName, roleBalence, ext);
- Debug.Log(
- $"Ios ShowPay DouYouIosSDKHandler SdkPaymentWithJson: cpOrderId:{cpOrderId} productPrice:{productPrice} productId:{productId} productName:{productName} productDesc:{productDesc} productCount:{productCount} exchangeRate:{exchangeRate} serverId:{serverId} serverName:{serverName} roleId:{roleId} roleName:{roleName} roleLevel:{roleLevel} roleVip:{roleVip} partyName:{partyName} roleBalence:{roleBalence} other:{ext}");
- }
- //角色升级上报
- public override void SDKRoleInfo(string type, string serverId, string serverName, string roleId, string roleName,
- string roleLevel, string roleVip, string partyName, string roleBalence)
- {
- base.SDKRoleInfo(type, serverId, serverName, roleId, roleName, roleLevel, roleVip,
- partyName, roleBalence);
- Debug.Log($"DouYouIosSDKHandler SDKRoleInfo. type:{type} serverId:{serverId} serverName:{serverName} roleId:{roleId} roleName:{roleName} roleLevel:{roleLevel} roleVip:{roleVip} partyName:{partyName} roleBalence:{roleBalence}");
- }
- /// <summary>
- /// 初始化成功回调
- /// </summary>
- /// <param name="message"></param>
- public override void InitSuccessAb(string message)
- {
- UniEvent.SendMessage(new LauncherEvent.InitPlatformResult() { success = true });
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.InitSuccessAb(message);
- Debug.Log($"InitSuccessAb:{message}");
- }
- /// <summary>
- /// 初始化失败回调
- /// </summary>
- /// <param name="message"></param>
- public override void InitErrorAb(string message)
- {
- Debug.Log("InitErrorAb: " + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.InitErrorAb(message);
- }
- /// <summary>
- /// 登录成功回调
- /// </summary>
- /// <param name="message">登录成功</param>
- public override void LoginSuccessAb(string message)
- {
- Debug.Log("LoginSuccessAb: " + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.LoginSuccessAb(message);
- }
- /// <summary>
- /// 登录失败回调
- /// </summary>
- /// <param name="message"></param>
- public override void LoginErrorAb(string message)
- {
- Debug.Log("LoginErrorAb: " + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.LoginErrorAb(message);
- }
- /// <summary>
- /// 切换账号回调
- /// </summary>
- /// <param name="message"></param>
- public override void SwitchAccountsAb(string message)
- {
- Debug.Log("SwitchAccountsAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.SwitchAccountsAb(message);
- }
- /// <summary>
- /// 登出成功回调
- /// </summary>
- /// <param name="message"></param>
- public override void LogoutSuccessAb(string message)
- {
- Debug.Log("LogoutSuccessAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.LogoutSuccessAb(message);
- }
- /// <summary>
- /// 登出失败回调
- /// </summary>
- /// <param name="message"></param>
- public override void LogoutErrorAb(string message)
- {
- Debug.Log("LogoutErrorAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.LogoutErrorAb(message);
- }
- /// <summary>
- /// 支付成功回调
- /// </summary>
- /// <param name="message"></param>
- public override void PaySuccessAb(string message)
- {
- Debug.Log("PaySuccessAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.PaySuccessAb(message);
- }
- /// <summary>
- /// 支付失败回调
- /// </summary>
- /// <param name="message"></param>
- public override void PayErrorAb(string message)
- {
- Debug.Log("PayErrorAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.PayErrorAb(message);
- }
- /// <summary>
- /// 角色升级上报成功回调
- /// </summary>
- /// <param name="message"></param>
- public override void RoleInfoReportSuccessAb(string message)
- {
- Debug.Log("RoleInfoReportSuccessAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.RoleInfoReportSuccessAb(message);
- }
- /// <summary>
- /// 角色升级上报失败回调
- /// </summary>
- /// <param name="message"></param>
- public override void RoleInfoReportErrorAb(string message)
- {
- Debug.Log("RoleInfoReportErrorAb" + message);
- QDDouYouManagerInitIos.Instance.douYouSDKListenerIos?.RoleInfoReportErrorAb(message);
- }
- }
- }
- /// <summary>
- /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值)
- /// </summary>
- public enum DouYouIosRoleLogReportType
- {
- /// <summary>
- /// 进入游戏
- /// </summary>
- EnterGame = 1,
- /// <summary>
- /// 创建角色
- /// </summary>
- CreateRole = 2,
- /// <summary>
- /// 角色升级
- /// </summary>
- LevelUp = 3,
- /// <summary>
- /// 退出
- /// </summary>
- ExitGame = 4,
- /// <summary>
- /// 充值
- /// </summary>
- Pay = 5
- }
- }
|