using UnityEngine; namespace GFGGame { public class DouYouSDK { private static AndroidJavaClass _unityPlayerClass; private static AndroidJavaObject _douYouMainActivity; private static DouYouSDK _instance; #region basic code public static DouYouSDK Instance() { if (null == _instance) { _instance = new DouYouSDK(); } return _instance; } //调用桥接的 DouYouMainActivity.java 对象的方法 private void CallDouYouMainActivity(string functionName, params object[] args) { _douYouMainActivity.Call(functionName, args); } //临时获取adId,之后需要配置到配置文件里面,已达到热更 public string GetAdId() { return "123"; } #endregion /// /// douYou sdk init /// /// public void InitDouYouSdk(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); } /// /// 显示登录界面 /// public void ShowLogin() { Instance().CallDouYouMainActivity("extShowLogin"); } /// /// 角色登录数据上报 /// /// /// /// /// public void ReportRoleLogin(string id, string level, string nickname, string sid) { Instance().CallDouYouMainActivity("extReportRoleLogin", id, level, nickname, sid); } /// /// 角色数据上报 /// /// /// /// /// public void ReportRole(string id, string level, string nickname, string sid) { Instance().CallDouYouMainActivity("extReportRole", id, level, nickname, sid); } /// /// 退出登录 /// public void ShowLogout() { Instance().CallDouYouMainActivity("extShowLogout"); } /// /// 退出app /// public void ExitApp() { Instance().CallDouYouMainActivity("extExitApp"); } /// /// 调起支付 /// public void ShowSwitchPayment() { Instance().CallDouYouMainActivity("extShowSwitchPayment"); } /// /// cp激励广告订单id 登录后用户uid 角色id /// public void OpenGroMoreAD() { Instance().CallDouYouMainActivity("extOpenGroMoreAD"); } } }