HykbLogin.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. /// <summary>
  5. /// 好游快爆SDK
  6. /// create by chenbaoyang
  7. /// </summary>
  8. namespace com.m3839.sdk.login
  9. {
  10. /// <summary>
  11. /// 好游快爆SDK的静态方法包装,用于untiy与安卓SDK对接及交互。
  12. /// </summary>
  13. public class HykbLogin
  14. {
  15. // 单例中间层对象,方便获取
  16. private static AndroidJavaClass sLoginJavaClass;
  17. public static AndroidJavaClass getLoginClass()
  18. {
  19. if (sLoginJavaClass == null)
  20. {
  21. sLoginJavaClass = new AndroidJavaClass("com.m3839.sdk.login.HykbLogin");
  22. }
  23. return sLoginJavaClass;
  24. }
  25. /// <summary>
  26. /// SDK初始化
  27. /// </summary>
  28. /// <param name="appKey">快爆开发者后台申请的appKey</param>
  29. /// <param name="listener">初始化的回调监听</param>
  30. [System.Obsolete("该方法已过时")]
  31. public static void InitSdk(string appKey, int orientation, listener.HykbInitListener listener)
  32. {
  33. getLoginClass().CallStatic("initSdk", HykbContext.GetInstance().GetActivity(), appKey, orientation, listener);
  34. }
  35. /// <summary>
  36. /// SDK初始化
  37. /// </summary>
  38. /// <param name="appKey">快爆开发者后台申请的appKey</param>
  39. /// <param name="listener">初始化的回调监听</param>
  40. public static void Init(string appKey, int orientation, listener.HykbV2InitListener listener)
  41. {
  42. getLoginClass().CallStatic("init", HykbContext.GetInstance().GetActivity(), appKey, orientation, listener);
  43. }
  44. /// <summary>
  45. /// 设置用户相关监听
  46. /// </summary>
  47. /// <param name="listener">用户相关的监听接口</param>
  48. public static void SetUserListener(listener.HykbUserListener listener)
  49. {
  50. getLoginClass().CallStatic("setUserListener", listener);
  51. }
  52. /// <summary>
  53. /// 设置防沉迷相关监听
  54. /// </summary>
  55. /// <param name="listener">防沉迷相关的监听接口</param>
  56. public static void SetAntiListener(listener.HykbAntiListener listener)
  57. {
  58. getLoginClass().CallStatic("setAntiListener", listener);
  59. }
  60. /// <summary>
  61. /// 登录
  62. /// </summary>
  63. /// <param name="listener">登录操作的回调监听</param>
  64. [System.Obsolete("该方法已过时")]
  65. public static void Login(listener.HykbLoginListener listener)
  66. {
  67. getLoginClass().CallStatic("login", HykbContext.GetInstance().GetActivity(), listener);
  68. }
  69. /// <summary>
  70. /// 登录
  71. /// </summary>
  72. public static void Login()
  73. {
  74. getLoginClass().CallStatic("login", HykbContext.GetInstance().GetActivity());
  75. }
  76. /// <summary>
  77. /// 切换账号
  78. /// </summary>
  79. /// <param name="listener">切换账号的回调监听</param>
  80. [System.Obsolete("该方法已过时")]
  81. public static void SwitchAccount(listener.HykbLoginListener listener)
  82. {
  83. getLoginClass().CallStatic("switchAccount", HykbContext.GetInstance().GetActivity(), listener);
  84. }
  85. /// <summary>
  86. /// 切换账号
  87. /// </summary>
  88. public static void SwitchAccount()
  89. {
  90. getLoginClass().CallStatic("switchAccount", HykbContext.GetInstance().GetActivity());
  91. }
  92. /// <summary>
  93. /// 获得当前用户信息
  94. /// </summary>
  95. /// <returns>有用户信息是返回用户信息HykbUser实例,无则返回null</returns>
  96. public static bean.HykbUser GetUser()
  97. {
  98. AndroidJavaObject userObject = getLoginClass().CallStatic<AndroidJavaObject>("getUser");
  99. return userObject == null ? null : new bean.HykbUser(userObject);
  100. }
  101. /// <summary>
  102. /// 退出登录,注销用户的登录信息
  103. /// </summary>
  104. public static void Logout()
  105. {
  106. getLoginClass().CallStatic("logout", HykbContext.GetInstance().GetActivity());
  107. }
  108. }
  109. }