using DouYouSdk; using UniFramework.Event; using UnityEngine; namespace GFGGame.Launcher { public class QDDouYouManagerInit : SingletonBase { public IDouYouSDKListener douYouSDKListener; private static AndroidJavaClass _unityPlayerClass; private static AndroidJavaObject _douYouMainActivity; public void InitSDK(string adId) { if (_unityPlayerClass == null) { _unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); } if (_douYouMainActivity == null) { _douYouMainActivity = _unityPlayerClass.GetStatic("currentActivity"); } DouYouSDKHandler eventHandler = GameObject.Find("DouYouSDKGameObject")?.GetComponent(); if (eventHandler == null) { GameObject gameObject = new GameObject("DouYouSDKGameObject"); gameObject.AddComponent(); GameObject.DontDestroyOnLoad(gameObject); } Instance.CallDouYouMainActivity("initDouYou", adId); } //调用桥接的 DouYouMainActivity.java 对象的方法 private void CallDouYouMainActivity(string functionName, params object[] args) { _douYouMainActivity.Call(functionName, args); } /// /// 显示登录界面 /// public void ShowLogin() { Instance.CallDouYouMainActivity("extShowLogin"); } /// /// 角色登录数据上报 /// /// 角色ID /// 角色等级 /// 角色名称 /// 区服ID /// 区服名称 public void ReportRoleLogin(string id, string level, string nickname, string sid, string serverName) { Instance.CallDouYouMainActivity("extReportRoleLogin", id, level, nickname, sid, serverName); } /// /// 角色数据上报 /// /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值) /// 角色ID /// 角色等级 /// 角色名称 /// 区服ID /// 区服名称 public void ReportRole(int logType, string id, string level, string nickname, string sid, string serverName) { Instance.CallDouYouMainActivity("extReportRole", logType, id, level, nickname, sid, serverName); } /// /// 退出登录 /// public void ShowLogout() { Instance.CallDouYouMainActivity("extShowLogout"); } /// /// 退出app /// public void ExitApp() { Instance.CallDouYouMainActivity("extExitApp"); } /// /// 调起支付 /// /// 订单号 /// 订单金额(元) /// 产品ID /// 产品名称 /// 产品描述 /// 区服ID /// 区服名称 /// 角色ID /// 角色名称 /// 角色等级 /// 透传参数 public void ShowSwitchPayment(string orderId, string orderMoney, string productId, string productName, string productDesc, string roleServiceId, string serviceName, string roleId, string roleName, string roleLevel, string other) { Instance.CallDouYouMainActivity("extShowSwitchPayment", orderId, orderMoney, productId, productName, productDesc, roleServiceId, serviceName, roleId, roleName, roleLevel, other); } /// /// cp激励广告订单id 登录后用户uid 角色id /// public void OpenGroMoreAD() { Instance.CallDouYouMainActivity("extOpenGroMoreAD"); } public class DouYouSDKHandler : AbDouYouSDKHandler { /// /// 测试消息 /// /// public override void ReceiveMessageAb(string message) { Debug.Log($"ReceiveMessageAb:{message}"); } /// /// SDK实例化成功 /// /// SDK 实例化成功 public override void InitSuccessAb(string message) { Debug.Log("InitSuccessAb: " + message); UniEvent.SendMessage(new LauncherEvent.InitPlatformResult() { success = true }); } /// /// 登录成功 /// /// resUid + "|gfg|" + token public override void LoginSuccessAb(string message) { Debug.Log("LoginSuccessAb: " + message); QDDouYouManagerInit.Instance.douYouSDKListener.LoginSuccessAb(message); } /// /// 切换账号或退出登录后 /// /// 退出登录成功! public override void OutLoginSuccessAb(string message) { Debug.Log("OutLoginSuccessAb: " + message); QDDouYouManagerInit.Instance.douYouSDKListener.OutLoginSuccessAb(message); } /// /// 支付失败 /// /// code + "|gfg|" + params.toString() public override void PayFailAb(string message) { Debug.Log("PayFailAb: " + message); QDDouYouManagerInit.Instance.douYouSDKListener.PayFailAb(message); } /// /// 支付成功 /// /// code + "|gfg|" + params.toString() public override void PaySuccessAb(string message) { Debug.Log("PaySuccessAb" + message); QDDouYouManagerInit.Instance.douYouSDKListener.PaySuccessAb(message); } #region SDK 生命周期函数 public override void SdkOnStartAb(string message) { Debug.Log($"SdkOnStartAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnStartAb(message); } public override void SdkOnPauseAb(string message) { Debug.Log($"SdkOnPauseAb:{message}"); } public override void SdkOnResumeAb(string message) { Debug.Log($"SdkOnResumeAb:{message}"); } public override void SdkOnStopAb(string message) { Debug.Log($"SdkOnStopAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnStopAb(message); } public override void SdkOnDestroyAb(string message) { Debug.Log($"SdkOnDestroyAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnDestroyAb(message); } public override void SdkOnRestartAb(string message) { Debug.Log($"SdkOnRestartAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnRestartAb(message); } public override void SdkOnBackPressedAb(string message) { Debug.Log($"SdkOnBackPressedAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnBackPressedAb(message); } public override void SdkOnNewIntentAb(string message) { Debug.Log($"SdkOnNewIntentAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnNewIntentAb(message); } public override void SdkOnConfigurationChangedAb(string message) { Debug.Log($"SdkOnConfigurationChangedAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnConfigurationChangedAb(message); } public override void SdkOnSaveInstanceStateAb(string message) { Debug.Log($"SdkOnSaveInstanceStateAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnSaveInstanceStateAb(message); } public override void SdkOnActivityResultAb(string message) { Debug.Log($"SdkOnActivityResultAb:{message}"); QDDouYouManagerInit.Instance.douYouSDKListener.SdkOnActivityResultAb(message); } public override void SdkOnRequestPermissionResultAb(string message) { Debug.Log($"SdkOnRequestPermissionResultAb:{message}"); } public override void SdkOnWindowFocusChangedAb(string message) { Debug.Log($"SdkOnWindowFocusChangedAb:{message}"); } #endregion } } /// /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值) /// public enum DouYouRoleLogReportType { /// /// 进入游戏 /// EnterGame = 1, /// /// 创建角色 /// CreateRole = 2, /// /// 角色升级 /// LevelUp = 3, /// /// 退出 /// ExitGame = 4, /// /// 充值 /// Pay = 5 } }