DouYouSDK.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using UnityEngine;
  2. namespace GFGGame
  3. {
  4. public class DouYouSDK
  5. {
  6. private static AndroidJavaClass _unityPlayerClass;
  7. private static AndroidJavaObject _douYouMainActivity;
  8. private static DouYouSDK _instance;
  9. #region basic code
  10. public static DouYouSDK Instance()
  11. {
  12. if (null == _instance)
  13. {
  14. _instance = new DouYouSDK();
  15. }
  16. return _instance;
  17. }
  18. //调用桥接的 DouYouMainActivity.java 对象的方法
  19. private void CallDouYouMainActivity(string functionName, params object[] args)
  20. {
  21. _douYouMainActivity.Call(functionName, args);
  22. }
  23. //临时获取adId,之后需要配置到配置文件里面,已达到热更
  24. public string GetAdId()
  25. {
  26. return "123";
  27. }
  28. #endregion
  29. /// <summary>
  30. /// douYou sdk init
  31. /// </summary>
  32. /// <param name="adId"></param>
  33. public void InitDouYouSdk(string adId)
  34. {
  35. if (_unityPlayerClass == null)
  36. {
  37. _unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
  38. }
  39. if (_douYouMainActivity == null)
  40. {
  41. _douYouMainActivity = _unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
  42. }
  43. DouYouSDKHandler eventHandler = GameObject.Find("DouYouSDKGameObject")?.GetComponent<DouYouSDKHandler>();
  44. if (eventHandler == null)
  45. {
  46. GameObject gameObject = new GameObject("DouYouSDKGameObject");
  47. gameObject.AddComponent<DouYouSDKHandler>();
  48. GameObject.DontDestroyOnLoad(gameObject);
  49. }
  50. Instance().CallDouYouMainActivity("initDouYou", adId);
  51. }
  52. /// <summary>
  53. /// 显示登录界面
  54. /// </summary>
  55. public void ShowLogin()
  56. {
  57. Instance().CallDouYouMainActivity("extShowLogin");
  58. }
  59. /// <summary>
  60. /// 角色登录数据上报
  61. /// </summary>
  62. /// <param name="id"></param>
  63. /// <param name="level"></param>
  64. /// <param name="nickname"></param>
  65. /// <param name="sid"></param>
  66. public void ReportRoleLogin(string id, string level, string nickname, string sid)
  67. {
  68. Instance().CallDouYouMainActivity("extReportRoleLogin", id, level, nickname, sid);
  69. }
  70. /// <summary>
  71. /// 角色数据上报
  72. /// </summary>
  73. /// <param name="id"></param>
  74. /// <param name="level"></param>
  75. /// <param name="nickname"></param>
  76. /// <param name="sid"></param>
  77. public void ReportRole(string id, string level, string nickname, string sid)
  78. {
  79. Instance().CallDouYouMainActivity("extReportRole", id, level, nickname, sid);
  80. }
  81. /// <summary>
  82. /// 退出登录
  83. /// </summary>
  84. public void ShowLogout()
  85. {
  86. Instance().CallDouYouMainActivity("extShowLogout");
  87. }
  88. /// <summary>
  89. /// 退出app
  90. /// </summary>
  91. public void ExitApp()
  92. {
  93. Instance().CallDouYouMainActivity("extExitApp");
  94. }
  95. /// <summary>
  96. /// 调起支付
  97. /// </summary>
  98. public void ShowSwitchPayment()
  99. {
  100. Instance().CallDouYouMainActivity("extShowSwitchPayment");
  101. }
  102. /// <summary>
  103. /// cp激励广告订单id 登录后用户uid 角色id
  104. /// </summary>
  105. public void OpenGroMoreAD()
  106. {
  107. Instance().CallDouYouMainActivity("extOpenGroMoreAD");
  108. }
  109. }
  110. }